今天想介紹關於OpenID和UnionID這兩個ID的理解方式。
官網解釋
OpenID
使用者唯一標識,請注意,在未關注公眾號時,使用者訪問公眾號的網頁,也會產生一個使用者和公眾號唯一的OpenID
UnionID
通過獲取使用者基本資訊介面,開發者可通過OpenID來獲取使用者基本資訊,而如果開發者擁有多個公眾號,可使用以下辦法通過UnionID機制來在多公眾號之間進行使用者帳號互通。只要是同一個微信開放平臺帳號下的公眾號,使用者的UnionID是唯一的。換句話說,同一使用者,對同一個微信開放平臺帳號下的不同應用,UnionID是相同的。
我是一條華麗的分界線
理解方式
微訊號
假設微訊號是我們作為微信使用者的唯一標識,那麼
使用者 A 的微訊號是 _1232sdasf
,使用者 B 的微訊號是 helloBBBBB
那我們在獲取使用者微信的時候,微信肯定不會返回具體的微訊號給我們,對吧?
為什麼不呢?如果返回微訊號,那我們就可以根據微訊號來加很多很多很多人啦~~~
想想微訊號落入了有心機的人手裡,是件多麼可怕的事....
所以,在使用者授權的資訊中,是不會涉及到微訊號的資訊的。
那通過什麼來識別使用者呢?
請繼續往下看 ↓↓↓↓↓↓↓
OpenID
申請公眾號、小程式的時候,都有一個 APPID,這個是當前賬號的標識。另外還有一個APPSERECT,用於解密資料使用。
OpenID就是使用者在某一公眾平臺下的標識。
OpenID = 使用者微訊號 & 公眾平臺APPID(兩個資料加密得到的字串)
舉個?
小明微訊號是 T1928738ss,公眾號 A 是 A商城,公眾號 B 是 B商城。
此時進入 A 商城,則 A 商城獲取到的小明的 openID 是 33487793847837734,
此時進入 B 商城,則 B 商城獲取到的小明的 openID 是 48423948753248900,
小明在A和B商城之間擁有不同的身份標識,且身份標識是唯一的
也就是說,在一個公眾號內,不管進入了多少次,還是一個 openID
同理,小明在進入小程式C、小程式D、公眾號F ... 這些系統中,其實後臺獲取到的OpenID 都是不同的。
那麼,如果一個商家,既想在公眾號上做商城,也想在小程式端做一個商城,小明進入之後,會產生兩個不同的OpenID,豈不是有兩個小明使用者?這十分奇怪吧... 簡單想像一下,你從公眾號裡進入一個網頁版的拼夕夕商城,賬號裡有10的拼豆,但是進入小程式版的拼夕夕商城,賬號裡只有1個拼豆,是不是很茫然?是誰模仿了我的帥.....
那麼為了防止這樣的“怪異”現象發生,我們要解決的問題是:要如何確定小明這個人在進入“同一個”商城中,是“同一個”使用者呢?
請繼續往下看 ↓↓↓↓↓↓↓
UnionID
先引出一個開放平臺的概念
微信開放平臺作為第三方移動程式提供介面,使使用者可將第三方程式的內容釋出給好友或分享至朋友圈,第三方內容藉助微信平臺獲得更廣泛的傳播。從而形成了一種主流的線上線下微信互動營銷方式。
結合UnionID 的解釋
UnionID機制的作用說明:如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取使用者基本資訊中的unionid來區分使用者的唯一性,因為同一使用者,對同一個微信開放平臺下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。
開放平臺的功能有很多,不過我們今天的目標就是要把公眾號和小程式連線在同一個開放平臺下。
在申請開放平臺的時候,也得到這個開放平臺的 APPID 和 APPSERECT。
UnionID = 使用者微訊號 & 開放平臺APPID(兩個資料加密得到的字串)
把公眾號和小程式連線在同一個開放平臺下之後,無論小明從小程式進入,還是從公眾號進入,在後臺獲取資訊中就會得到的openID和UnionID,OpenID是不同的,UnionID 是相同的,通過UnionID就可以明確知道是小明這一個人。
總結
- OpenID 是 微訊號與公眾平臺APPID 加密後得到的使用者標識。
- UnionID 是 微訊號與開放平臺APPID 加密後得到的使用者唯一標識,前提是各個公眾平臺需要先繫結到同一個開放平臺,才能從各平臺中獲取到同一個UnionID。
你的點贊和關注,是對我們最大的鼓勵!
喜歡就關注我們吧!
作者簡介:土撥鼠,蘆葦科技web前端開發工程師,代表作品:飛花亭小程式、續航基因、YY表情紅包、YY疊方塊直播競賽小遊戲。擅長網站建設、公眾號開發、微信小程式開發、小遊戲、公眾號開發,專注於前端框架、服務端渲染、SEO技術、互動設計、影象繪製、資料分析等研究,有興趣的小夥伴來撩撩我們~ web@talkmoney.cn
訪問 www.talkmoney.cn 瞭解更多