給產(chǎn)品經(jīng)理講技術(shù):微信的openid和unionid

很想寫這樣的一篇掃盲貼,剛好利用端午小長(zhǎng)假的時(shí)間,學(xué)堂君跟大家來聊聊微信的openid和unionid 。

無(wú)論是產(chǎn)品經(jīng)理、還是H5前端工程師、客戶端前端開發(fā)人員、后端開發(fā)人員,只要進(jìn)行微信開發(fā)就會(huì)跟openid和unionid打交道。特別是openid。

有些時(shí)候,我們?cè)谖⑿爬锩嫱嬉恍〩5小游戲或者是進(jìn)行相關(guān)操作的時(shí)候,會(huì)出現(xiàn)下面的這個(gè)界面。這個(gè)界面是微信提供給企業(yè)開發(fā)授權(quán)的頁(yè)面。

微信網(wǎng)頁(yè)授權(quán)頁(yè)面

是不是看到這樣的界面很熟悉呢?今天學(xué)堂君跟大家講的就是跟它有關(guān)的知識(shí)點(diǎn)。

 

下面學(xué)堂君站在產(chǎn)品經(jīng)理的角度跟大家詳細(xì)說說微信的openid和unionid 到底是啥東東。

openid 普通用戶的標(biāo)識(shí),對(duì)當(dāng)前開發(fā)者帳號(hào)唯一。一個(gè)openid對(duì)應(yīng)一個(gè)公眾號(hào)。

unionid 用戶統(tǒng)一標(biāo)識(shí)。針對(duì)一個(gè)微信開放平臺(tái)帳號(hào)下的應(yīng)用,同一用戶的unionid是唯一的。

張小龍微信8條
1、微信的用戶隱私策略:

每個(gè)接入微信的應(yīng)用(公眾號(hào)、APP)就像一個(gè)獨(dú)立的商場(chǎng),用戶使用這些應(yīng)用就像逛商場(chǎng),商場(chǎng)用會(huì)員卡識(shí)別用戶,類似的,我們根據(jù)商場(chǎng)名字為每個(gè)用戶生成了一張專屬會(huì)員卡(openid),每張會(huì)員卡只能在對(duì)應(yīng)的商場(chǎng)才能夠使用,你不能拿著沃爾瑪?shù)臅?huì)員卡去華潤(rùn)萬(wàn)家積分。這是一種安全的授權(quán)方式,如果沒有這個(gè)會(huì)員卡,直接暴露微信號(hào),就相當(dāng)于拿著身份證去逛商場(chǎng),丟失一個(gè)會(huì)員卡號(hào)遠(yuǎn)比丟失身份證號(hào)要安全。

那么問題來了,都是萬(wàn)達(dá)集團(tuán),萬(wàn)達(dá)大歌星與萬(wàn)達(dá)商場(chǎng)希望做到會(huì)員卡通用。微信在這里做了一個(gè)打通機(jī)制,對(duì)于同一個(gè)企業(yè),在用戶屬性里面加了一個(gè)企業(yè)屬性(UnionID),方便同一個(gè)企業(yè)在不同的產(chǎn)品中識(shí)別到同一個(gè)用戶。

微信獨(dú)有的 unionid機(jī)制, 用戶唯一標(biāo)識(shí)符,同個(gè)開發(fā)賬號(hào)下的應(yīng)用 有個(gè)unionid是一樣的。

這個(gè)機(jī)制伴隨著微信聯(lián)合登錄已經(jīng)在微信開放平臺(tái)(open.weixin.qq.com)推出了。獲得了開放平臺(tái)認(rèn)證的企業(yè),可以綁定10個(gè)手機(jī)應(yīng)用、10個(gè)網(wǎng)站、10個(gè)公眾號(hào),他們對(duì)應(yīng)的用戶信息也可以互聯(lián)互通。

 

 

2、微信openid和unionid長(zhǎng)度是不一樣的。請(qǐng)記住:

openid=28   ,    unionid=29

3、第三方獲取微信openid的兩種常見的方式

一、靜默授權(quán),用戶無(wú)感知

用戶在你開發(fā)的公眾號(hào)發(fā)消息,微信服務(wù)器將POST消息的XML數(shù)據(jù)包到開發(fā)者填寫的URL上,這時(shí)你可以通過程序獲取到改用戶的openid。

以snsapi_base為scope發(fā)起的網(wǎng)頁(yè)授權(quán),是用來獲取進(jìn)入頁(yè)面的用戶的openid的,并且是靜默授權(quán)并自動(dòng)跳轉(zhuǎn)到回調(diào)頁(yè)的。用戶感知的就是直接進(jìn)入了回調(diào)頁(yè)(往往是業(yè)務(wù)頁(yè)面)

二、用戶同意授權(quán)

 

通過微信專有網(wǎng)頁(yè)授權(quán)頁(yè)面獲取(如上圖的綠色界面),需要用戶手動(dòng)點(diǎn)擊確認(rèn)。

以snsapi_userinfo為scope發(fā)起的網(wǎng)頁(yè)授權(quán),是用來獲取用戶的基本信息的。但這種授權(quán)需要用戶手動(dòng)同意,并且由于用戶同意過,所以無(wú)須關(guān)注,就可在授權(quán)后獲取該用戶的基本信息。

學(xué)堂君就哪一個(gè)具體的生活場(chǎng)景的案例跟大家解讀一下什么是靜默授權(quán)和用戶同意授權(quán)。

比如你去某個(gè)寫字樓拜訪某家企業(yè),進(jìn)去大樓之前,保安會(huì)讓你填寫來訪登記表。這個(gè)動(dòng)作就等同于微信的用戶同意授權(quán)。 如果你不是從正面進(jìn)去,或者從側(cè)門、或者是溜進(jìn)去,沒有填寫來訪登記信息。你直接進(jìn)去了。就好比就是靜默授權(quán)。
第一種方式獲取屬于微信被動(dòng)發(fā)送給開發(fā)中填寫的url的,需要用戶關(guān)注公眾號(hào)。第二種獲取屬于網(wǎng)頁(yè)發(fā)起請(qǐng)求去獲取的,兩種獲取方式獲取的openid的值是一樣的,用戶無(wú)需關(guān)注開發(fā)的公眾號(hào)。openid在不同的公眾號(hào)和不同的應(yīng)用之間是不同的,但是 UnionID是一致的。

用戶微信授權(quán)流程圖

 

總的來說,微信網(wǎng)頁(yè)授權(quán)流程分為四步:

1、引導(dǎo)用戶進(jìn)入授權(quán)頁(yè)面同意授權(quán),獲取code

2、通過code換取網(wǎng)頁(yè)授權(quán)access_token(與基礎(chǔ)支持中的access_token不同)

3、如果需要,開發(fā)者可以刷新網(wǎng)頁(yè)授權(quán)access_token,避免過期

4、通過網(wǎng)頁(yè)授權(quán)access_token和openid獲取用戶基本信息(支持UnionID機(jī)制)

 

詳細(xì)的實(shí)現(xiàn)方法,童鞋們可以微信官網(wǎng)的文檔:網(wǎng)頁(yè)授權(quán)獲取用戶基本信息  解讀。

微信開放平臺(tái)unionid

4、網(wǎng)頁(yè)授權(quán)獲取用戶基本信息也遵循UnionID機(jī)制。

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

有一個(gè)地方需要注意的:

即我們?cè)谑褂梦⑿啪W(wǎng)頁(yè)版本的時(shí)候,生成微信二維碼用戶掃描登錄,此時(shí)獲取的openid和前面我們所說通過微信客戶端獲取的openid就不是一樣的,但是UnionID是一樣的,這是因?yàn)椋W(wǎng)頁(yè)二維碼掃描登錄是網(wǎng)站應(yīng)用,第一種獲取openid是公眾號(hào),兩者屬于不同應(yīng)用,所以是不一樣的。

有興趣的小伙伴可以去嘗試體驗(yàn)下!

 

5、UnionID機(jī)制的優(yōu)勢(shì)和好處

對(duì)于用戶來說,用一個(gè)微信號(hào)就可以同時(shí)跨平臺(tái)登陸公眾號(hào)、移動(dòng)應(yīng)用和PC網(wǎng)站,無(wú)需重新注冊(cè),方便快捷。

對(duì)于開發(fā)者來說:

1、可以降低用戶注冊(cè)成本,提高用戶留存率,更好的管理用戶資料。

2、如果是PC網(wǎng)站,微信登陸就和我們?cè)赑C上登陸網(wǎng)頁(yè)版的微信一樣,直接掃描二維碼即可,極大的方便了用戶,而且保障安全。

3、當(dāng)同一用戶用同一微信同時(shí)登陸PC網(wǎng)站、移動(dòng)應(yīng)用、公眾號(hào),這三方的數(shù)據(jù)就可統(tǒng)一儲(chǔ)存,用戶無(wú)論在哪一端進(jìn)行操作,三大平臺(tái)都會(huì)統(tǒng)一修改結(jié)果,這將極大方便了對(duì)同一用戶的數(shù)據(jù)管理和行為統(tǒng)計(jì)。

 

 

總結(jié):任何程序的開發(fā)原理和機(jī)制都是來源于生活,學(xué)會(huì)用互聯(lián)網(wǎng)的專業(yè)技能把我們?nèi)粘5囊恍┥顖?chǎng)景轉(zhuǎn)換成技術(shù)門檻和機(jī)制。這也是一種提升自身專業(yè)水平能力的具體表現(xiàn)(撩妹技能)。

 


每天更新,
全站高品質(zhì)素材免費(fèi)下載!