關於微信授權登錄open id union id 關注點

openid 、uid、app_id之間的關係

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

討論微信授權登錄,我們就不得不關注微信賬號體系的兩個id:open id 和 union id;

1)、在關注者與公衆號產生消息交互後,公衆號可獲得關注者的open id;

2)、如果開發者有在多個公衆號、公衆號、移動應用之間統一用戶帳號的需求,需要前往微信開放平臺(open.weixin.qq.com)綁定公衆號後,纔可利用union id機制來滿足上述需求;

union id機制的作用說明:如果開發者擁有多個移動應用、網站應用和公衆帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因爲同一用戶,對同一個微信開放平臺下的不同應用(移動應用、網站應用和公衆帳號),unionid是相同的;

open id 和 union id ,這兩個id有什麼區別;

1)、open id: 同一個用戶,在不同公衆號或移動應用下對應有不同open id標識;

2)、 union id:同一個用戶,在不同公衆號或移動應用下unionID相同;前提是,如若需要做多個公衆號以及移動應用賬戶互通,得到唯一身份標識union id,則需要將多個公衆號或移動應用在微信開放平臺進行綁定,然後我們才能給拿到union id;

所以,如果某個應用或者服務,有聯合登錄甚至多個公衆應用多賬戶互通,可以採用union id來進行賬戶體系的用戶識別與合併;即微信平臺可以通過union id 來進行基於多個公衆號之間的賬戶體系互通與識別合併;

瞭解了微信賬戶體系的兩個id之間的關係,微信聯合登錄是怎麼登錄的,有幾種登錄方式;

1)、微信聯合登錄;也就是我們常用的微信移動端/PC端之間的掃碼登錄;

在PC端用微信掃碼登錄,微信移動端確認授權登錄後,應用可以從微信拿到用戶的open id或union id,將微信獲取的用戶信息與自己賬戶體系中的用戶身份進行關聯;

2)、微信授權登錄;微信授權登錄有兩種;

a)、點擊授權登錄;

需要登錄時,頁面跳轉到授權頁面,也就是我們經常看到的綠色授權頁面,用戶授權後可從微信拿到open id、union id;

b)、靜默授權;

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

微信作爲一個社交的賬號體系,其他服務使用其作爲授權登錄的基礎,可能會產生什麼問題;

1)、由於微信開放給第三方的信息維度限制,應用通過微信授權登錄無法獲取到自建賬號體系那樣齊全的用戶個人信息;

2)、由於很多應用都是在公衆號中提供授權登錄進行服務透出,就會導致平臺賬號與微信公衆號中賬戶體系不一致;

3)、由於很多應用都需要用戶進行綁定手機操作,那麼就會由於openid的原因導致用戶進行重複綁定;

如何通過微信賬戶體系來做多應用、多平臺之間的賬戶互通體系;如果某個服務同時分佈在多個公衆號中,賬戶體系如何建立;如何做到用戶身份唯一識別;

1)、同一用戶不同公衆號/應用下open id不同,同一用戶不同公衆號/應用下unionid相同;

2)、建立應用賬戶體系時,通過union來進行多應用/平臺之間的用戶賬戶體系識別與合併;

3)、多應用/平臺建立賬戶體系時,需要做到唯一user id對應唯一union id;



作者:牽手生活
鏈接:https://www.jianshu.com/p/f4348fb975ed
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章