關(guān)于微信授權(quán)登錄open id union id 關(guān)注點(diǎn)

根據(jù)下面資源整理
關(guān)于微信授權(quán)登錄--簡(jiǎn)書
# 微信 openid = hash(uid + app_id) 也就是說,對(duì)每個(gè)app可以做到用戶id唯一


openid 、uid、app_id之間的關(guān)系

你可以簡(jiǎn)單的理解為 openid = hash(uid + app_id) 也就是說,對(duì)每個(gè)app可以做到用戶id唯一,但是這個(gè)id又不是通用的,你在其它app上同樣的用戶,openid會(huì)完全不同,反正你無法通過這個(gè)id獲取用戶的任何信息。用戶信息是騰訊的命根子,它不會(huì)隨便給你的。

討論微信授權(quán)登錄,我們就不得不關(guān)注微信賬號(hào)體系的兩個(gè)id:open id 和 union id;

1)、在關(guān)注者與公眾號(hào)產(chǎn)生消息交互后,公眾號(hào)可獲得關(guān)注者的open id;

2)、如果開發(fā)者有在多個(gè)公眾號(hào)、公眾號(hào)、移動(dòng)應(yīng)用之間統(tǒng)一用戶帳號(hào)的需求,需要前往微信開放平臺(tái)(open.weixin.qq.com)綁定公眾號(hào)后,才可利用union id機(jī)制來滿足上述需求;

union id機(jī)制的作用說明:如果開發(fā)者擁有多個(gè)移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號(hào),可通過獲取用戶基本信息中的unionid來區(qū)分用戶的唯一性,因?yàn)橥挥脩?,?duì)同一個(gè)微信開放平臺(tái)下的不同應(yīng)用(移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號(hào)),unionid是相同的;

open id 和 union id ,這兩個(gè)id有什么區(qū)別;

1)、open id: 同一個(gè)用戶,在不同公眾號(hào)或移動(dòng)應(yīng)用下對(duì)應(yīng)有不同open id標(biāo)識(shí);

2)、 union id:同一個(gè)用戶,在不同公眾號(hào)或移動(dòng)應(yīng)用下unionID相同;前提是,如若需要做多個(gè)公眾號(hào)以及移動(dòng)應(yīng)用賬戶互通,得到唯一身份標(biāo)識(shí)union id,則需要將多個(gè)公眾號(hào)或移動(dòng)應(yīng)用在微信開放平臺(tái)進(jìn)行綁定,然后我們才能給拿到union id;

所以,如果某個(gè)應(yīng)用或者服務(wù),有聯(lián)合登錄甚至多個(gè)公眾應(yīng)用多賬戶互通,可以采用union id來進(jìn)行賬戶體系的用戶識(shí)別與合并;即微信平臺(tái)可以通過union id 來進(jìn)行基于多個(gè)公眾號(hào)之間的賬戶體系互通與識(shí)別合并;

了解了微信賬戶體系的兩個(gè)id之間的關(guān)系,微信聯(lián)合登錄是怎么登錄的,有幾種登錄方式;

1)、微信聯(lián)合登錄;也就是我們常用的微信移動(dòng)端/PC端之間的掃碼登錄;

在PC端用微信掃碼登錄,微信移動(dòng)端確認(rèn)授權(quán)登錄后,應(yīng)用可以從微信拿到用戶的open id或union id,將微信獲取的用戶信息與自己賬戶體系中的用戶身份進(jìn)行關(guān)聯(lián);

2)、微信授權(quán)登錄;微信授權(quán)登錄有兩種;

a)、點(diǎn)擊授權(quán)登錄;

需要登錄時(shí),頁面跳轉(zhuǎn)到授權(quán)頁面,也就是我們經(jīng)常看到的綠色授權(quán)頁面,用戶授權(quán)后可從微信拿到open id、union id;

b)、靜默授權(quán);

靜默授權(quán)下,不需要跳轉(zhuǎn)頁面讓用戶確認(rèn)授權(quán),而是直接授權(quán)用戶登錄;但是需要注意的是,靜默授權(quán)只能拿到用戶的open id和union id,無法拿到用戶的微信頭像、微信名稱等個(gè)人信息;

微信作為一個(gè)社交的賬號(hào)體系,其他服務(wù)使用其作為授權(quán)登錄的基礎(chǔ),可能會(huì)產(chǎn)生什么問題;

1)、由于微信開放給第三方的信息維度限制,應(yīng)用通過微信授權(quán)登錄無法獲取到自建賬號(hào)體系那樣齊全的用戶個(gè)人信息;

2)、由于很多應(yīng)用都是在公眾號(hào)中提供授權(quán)登錄進(jìn)行服務(wù)透出,就會(huì)導(dǎo)致平臺(tái)賬號(hào)與微信公眾號(hào)中賬戶體系不一致;

3)、由于很多應(yīng)用都需要用戶進(jìn)行綁定手機(jī)操作,那么就會(huì)由于openid的原因?qū)е掠脩暨M(jìn)行重復(fù)綁定;

如何通過微信賬戶體系來做多應(yīng)用、多平臺(tái)之間的賬戶互通體系;如果某個(gè)服務(wù)同時(shí)分布在多個(gè)公眾號(hào)中,賬戶體系如何建立;如何做到用戶身份唯一識(shí)別;

1)、同一用戶不同公眾號(hào)/應(yīng)用下open id不同,同一用戶不同公眾號(hào)/應(yīng)用下unionid相同;

2)、建立應(yīng)用賬戶體系時(shí),通過union來進(jìn)行多應(yīng)用/平臺(tái)之間的用戶賬戶體系識(shí)別與合并;

3)、多應(yīng)用/平臺(tái)建立賬戶體系時(shí),需要做到唯一user id對(duì)應(yīng)唯一union id;

推薦資料
微服務(wù) SpringBoot 2.0(一):優(yōu)雅入門構(gòu)建 --itmsbx

最后編輯于
?著作權(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,144評(píng)論 2 59
  • 白云如堆雪,千里尋夏涼。 陽艷山愈翠,風(fēng)清花益香。
    花甲日記閱讀 183評(píng)論 0 0
  • 小時(shí)候很喜歡過年。過年開心不只是因?yàn)橛泻贸缘模行乱路?,還因?yàn)槟茴I(lǐng)到長(zhǎng)輩們給的壓歲錢。但是通常錢剛拿到手,還沒捂熱...
    西西弗斯XD閱讀 381評(píng)論 0 0
  • 了了無諍閱讀 316評(píng)論 0 0

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