app 第三方登錄流程

1. 第三方登錄的兩種情況

1. app 調(diào)用用 QQ/微信 sdk 實(shí)現(xiàn)第三方登錄

流程如下:

  1. 先在 gradle 中配置 QQ/微信 的 sdk 的 appid 和 appSecret
  2. 然后代碼調(diào)用 QQ/微信 的 sdk 的登錄授權(quán)代碼,得到 access_token,openId
  3. 通過 access_token 和 openId 調(diào)用 app 自己后臺(tái)的接口獲取應(yīng)用自己的 accessToken (也叫 token) 和 accessSecret
2. app 的 webview 內(nèi)嵌其他網(wǎng)頁

流程如下:

  1. webview 中的 js 先調(diào)用原生的 getXXX() 方法,請(qǐng)求原生的接口獲取 openId(參數(shù)傳 app 自己的 accessToken 和 accessSecret,再傳一個(gè) appId 用來標(biāo)識(shí)當(dāng)前 webview 中請(qǐng)求接口的是哪個(gè)平臺(tái))
  2. 原生調(diào)用后臺(tái)接口獲取 openId 后,通過調(diào)用 js 的 setXXX() 方法把 openId 設(shè)置到 webview 的 js 里
  3. js 通過 openId 獲取到自己服務(wù)器的 accessToken 和 accessSecret,從而完成了第三方登錄

2. 登錄兩種情況的比較

情況二和情況一基本相同,不同的是:

  1. 情況一 app 是第一方,QQ/微信是第三方,根據(jù) openid 獲取最后的 accessToken 和 accessSecret 是 app 原生做的
  2. 情況二 app 才是第三方,webview 中的其他平臺(tái)是第一方,根據(jù) openid 獲取最后的 accessToken 和 accessSecret 是 js 其他平臺(tái)做的

3. 總結(jié)

先通過第三方獲取 openId,然后根據(jù) openId 請(qǐng)求自己后臺(tái)的接口獲取最后的 accessToken 和 accessSecret,之后的業(yè)務(wù)請(qǐng)求都帶上 accessToken 和 accessSecret 從而完成請(qǐng)求。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容