-
OpenID: 普通用戶的標識,對當前開發者帳號唯一。一個openid對應一個公眾號。
-
UnionID :用戶統一標識。針對一個微信開放平台帳號下的應用,同一用戶的unionid是唯一的。
微信的用戶隱私策略:每個接入微信的應用(公眾號、APP)就像一個獨立的商場,用戶使用這些應用就像逛商場,商場用會員卡識別用戶,類似的,我們根據商場名字為每個用戶生成了一張專屬會員卡(openid),每張會員卡只能在對應的商場才能夠使用,你不能拿着沃爾瑪的會員卡去華潤萬家積分。這是一種安全的授權方式,如果沒有這個會員卡,直接暴露微信號,就相當於拿着身份證去逛商場,丟失一個會員卡號遠比丟失身份證號要安全。
那么問題來了,都是萬達集團,萬達大歌星與萬達商場希望做到會員卡通用。微信在這里做了一個打通機制,對於同一個企業,在用戶屬性里面加了一個企業屬性(UnionID),方便同一個企業在不同的產品中識別到同一個用戶。
這個機制伴隨着微信聯合登錄已經在微信開放平台(open.weixin.qq.com)推出了。獲得了開放平台認證的企業,可以綁定10個手機應用、10個網站、10個公眾號,他們對應的用戶信息也可以互聯互通。
強烈提示:對於開發團隊而言,在接入微信登錄之初,往往會忽視用戶的UnionID,只記錄了openid。這會導致后期賬號打通時候,需要用戶重新授權,運營成本增高,遇到此類問題的團隊不在少數。
openID是唯一的,公眾號只有綁定在微信開發平台下面,才會有unionid,如果只有一個公眾號,不用管unionid,只用openid,但是有多個應用,比如微信里面有,pc端也要微信掃碼登錄,盡早把公眾號綁定到微信開發平台,然后使用unionid。