微信開發中 openID 與 unionID 的區別

官網解釋

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個拼豆,是否是很茫然?是誰模仿了個人帥.....
那麼爲了防止這樣的「怪異」現象發生,咱們要解決的問題是:要如何肯定小明這我的在進入「同一個」商城中,是「同一個」用戶呢?
請繼續往下看 ↓↓↓↓↓↓↓spa

UnionID

先引出一個開放平臺的概念接口

微信開放平臺做爲第三方移動程序提供接口,使用戶可將第三方程序的內容發佈給好友或分享至朋友圈,第三方內容藉助微信平臺得到更普遍的傳播。從而造成了一種主流的線上線下微信互動營銷方式。

結合UnionID 的解釋開發

UnionID機制的做用說明:若是開發者擁有多個移動應用、網站應用和公衆賬號,可經過獲取用戶基本信息中的unionid來區分用戶的惟一性,由於同一用戶,對同一個微信開放平臺下的不一樣應用(移動應用、網站應用和公衆賬號),unionid是相同的。

開放平臺的功能有不少,不過咱們今天的目標就是要把公衆號和小程序鏈接在同一個開放平臺下。
在申請開放平臺的時候,也獲得這個開放平臺的 APPID 和 APPSERECT。rem

UnionID = 用戶微信號 & 開放平臺APPID(兩個數據加密獲得的字符串)

把公衆號和小程序鏈接在同一個開放平臺下以後,不管小明從小程序進入,仍是從公衆號進入,在後臺獲取信息中就會獲得的openID和UnionID,OpenID是不一樣的,UnionID 是相同的,經過UnionID就能夠明確知道是小明這一我的。字符串

總結

  • OpenID 是 微信號與公衆平臺APPID 加密後獲得的用戶標識。
  • UnionID 是 微信號與開放平臺APPID 加密後獲得的用戶惟一標識,前提是各個公衆平臺須要先綁定到同一個開放平臺,才能從各平臺中獲取到同一個UnionID。
相關文章
相關標籤/搜索