微信小程序用戶授權(quán)登錄

一、appid 、openID 和 UnionID 定義與區(qū)別

1、appid: 微信小程序/公眾號的唯一憑證,即 AppID。

獲取途徑:可在「微信公眾平臺 - 設(shè)置 - 開發(fā)設(shè)置」頁中獲得。(需要已經(jīng)成為開發(fā)者,且?guī)ぬ枦]有異常狀態(tài))

用途:小程序的 AppID 相當(dāng)于小程序平臺的一個身份證,會在很多場景中使用,比如小程序的登錄、授權(quán)等

2、openID: openID 是微信生態(tài)下應(yīng)用的唯一標識, ,即同一個用戶在不同的小程序下的openid是不同的。

獲取途徑:調(diào)用 auth.code2Session 接口,通過code(登錄憑證,調(diào)用wx.login獲?。?appid+appsecret(小程序密鑰,獲取方式和appid一樣)可以換取openid,即 靜默授權(quán)。

用途:用于在開發(fā)者系統(tǒng)中標識用戶信息

3、UnionID:UnionID 是微信生態(tài)下用戶的唯一標識,換句話說,同一用戶,對同一個微信開放平臺下的不同應(yīng)用,UnionID是相同的。

獲取途徑:綁定了開發(fā)者帳號的小程序,可以通過以下途徑獲取 UnionID。

1)開發(fā)者可以直接通過 wx.login + code2Session 獲取到該用戶 UnionID,無須用戶授權(quán)。

2)小程序端調(diào)用云函數(shù)時,可在云函數(shù)中通過 Cloud.getWXContext 獲取 UnionID。

用途:標識同一個微信開放平臺下的用戶,可用于去重判斷

二、微信登錄方式:微信聯(lián)合登錄、微信授權(quán)登錄【授權(quán)登錄(非靜默授權(quán))與靜默授權(quán)】

(一)微信聯(lián)合登錄

也就是我們常用的微信移動端/PC端之間的掃碼登錄,PC端用微信掃碼登錄,微信移動端確認授權(quán)登錄后,應(yīng)用可以從微信拿到用戶的open id或union id,將微信獲取的用戶信息與自己賬戶體系中的用戶身份進行關(guān)聯(lián);

(二)授權(quán)登錄(非靜默授權(quán)):

需要用戶確認登錄,這樣可以通過用戶的個人確認,獲取用戶全面的信息,無論是否關(guān)注相關(guān)微信公眾號等都可以獲取。

(三)靜默授權(quán)

1、靜默授權(quán)不需要用戶確認,只需要用戶訪問某個網(wǎng)頁,屬于嵌套在普通網(wǎng)頁里的授權(quán)形式,但是只能獲取到用戶的唯一標示openid和union id,無法拿到用戶的微信頭像、微信名稱等個人信息,對于用戶的簡單認證還是很有用的。

2、靜默授權(quán)的過程:

1)調(diào)用 wx.login() 獲取 臨時登錄憑證code

2)調(diào)用 auth.code2Session 接口,換取用戶唯一標識 openID

3)調(diào)用本地后臺服務(wù),將 openID 映射到本地的 userId

微信開發(fā)文檔-小程序登錄流程

參考文章:

1、【微信小程序用戶授權(quán)登錄】

2、微信第三方登錄(靜默授權(quán)和非靜默授權(quán))

3、openid會變嗎?微信小程序開發(fā)中的appid、openid、unionid使用總結(jié)

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

相關(guān)閱讀更多精彩內(nèi)容

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