溫州中墩鄉(xiāng)如何獲取小程序的unionid
閱讀 24065 · 發(fā)布日期 2020-08-24 17:26 · 溫州優(yōu)光網(wǎng)絡科技有限公司|建站|APP小程序制作|做網(wǎng)站SEO推廣優(yōu)化
【摘要】
如何獲取小程序的unionid?問題背景:做了微信小程序,一切都還正常,但是最后體驗版放出去時,卻發(fā)現(xiàn)很多用戶無法綁定用戶,后臺返回:參數(shù)非法。經(jīng)過多方排查,發(fā)現(xiàn)是微信拿到的code請求返回的數(shù)據(jù)里沒有UnionId,也就是接口返回的參數(shù)中不包含UnionId參數(shù)。1、UnionID機制說明 簡而言之,微信針對不同的... 【溫州小程序開發(fā),溫州微信公眾號,平陽做網(wǎng)站,平陽網(wǎng)站建設公司,平陽小程序商城制作,昆陽萬全做網(wǎng)站,鰲江水頭小程序,蕭江騰蛟微信公眾號,山門順溪南雁海西南麂鳳臥麻步懷溪網(wǎng)絡網(wǎng)店服務,政采云網(wǎng)店管理服務】...
如何獲取小程序的unionid?問題背景:
做了微信小程序,一切都還正常,但是最后體驗版放出去時,卻發(fā)現(xiàn)很多用戶無法綁定用戶,后臺返回:
參數(shù)非法。
經(jīng)過多方排查,發(fā)現(xiàn)是微信拿到的code請求返回的數(shù)據(jù)里沒有UnionId,也就是接口返回的參數(shù)中不包含UnionId參數(shù)。
1、UnionID機制說明 簡而言之,微信針對不同的用戶在不同的應用下都有唯一的一個 openId,但是要想確定用戶是不是同一個用戶,就需要靠 unionid 來區(qū)分。
通常自己的后臺都會有自己的一個用戶表,每個用戶有不同的 userid。
也就是說同一個用戶在同一個微信開放平臺下的相同主體的應用對應著相同的 userid, unionid 以及不同的 openid。
所以在用戶登錄進來的時候,我們只能靠微信返回給我們的 unionid 去判斷是不是同一個用戶,再去關聯(lián)我們的用戶表,拿到對應的 user_id。
注意:
后邊這句話的描述:
用戶關注過公眾號,或者曾經(jīng)登錄過App或公眾號,則用戶打開小程序時,開發(fā)者可以直接通過wx.login獲取到該用戶UnionID。
即:
如果用戶沒有關注過公眾號,或者沒有登陸過App,通過wx.login是無法獲取到該用戶UnionID,只能通過wx.getUserInfo來獲取UnionId。
經(jīng)驗證,系統(tǒng)不存在UnionId的小程序用戶都是沒有關注公眾號或未在App中使用微信授權(quán)的用戶2、問題背景 一般情況下(即在登錄小程序之前,已經(jīng)關注過公眾號或已經(jīng)登錄過公眾號或已經(jīng)使用微信登錄的方式登錄過app),用戶通過以下兩步就正常成功登錄網(wǎng)站:
(1)wx.login獲取code;(2)通過code請求后臺,后臺轉(zhuǎn)發(fā)微信api用來換取openid及session_key等信息,此可以得到Unionid 另一種情況(即在登錄小程序之前,既沒有關注過公眾號,也沒有登錄過公眾號,更沒有使用微信登錄的方式登錄過app),通過 wx.login 的到的 code 換不回 unionid 及 openid 等信息。
3、解決方案:
獲取小程序UnionId應該以wx.getUserInfo的UnionId為主。
wx.getUserInfo需要用戶授權(quán),產(chǎn)品方面,需要考慮用戶拒絕授權(quán)的處理流程。
wx.getUserInfo獲取數(shù)據(jù)之后解密的方法,可以看官方文檔。
解決思路:
通過帶登錄態(tài)的 wx.getUserInfo 獲取到用戶的加密數(shù)據(jù) encryptedData 和加密算法的初始向量iv,然后將 encryptdata、iv 以及 code傳給后端,后端再去通過接收到的encryptedData、iv以、code 以及之前的 session_key 解密出用戶的 openid、unionid 等。
加密數(shù)據(jù)解密算法相關推薦:
小程序教程以上就是如何獲取小程序的unionid的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!
微信
分享相關標簽:
小程序本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
上一篇:
如何實現(xiàn)小程序發(fā)送服務通知
下一篇:
如何爬取小程序源碼相關文章相關視頻微信小程序必須買域名嗎微信小程序中為什么不使用骨架屏,來提升用戶體驗?小程序如何設置類目微信小程序中圖片處理(居中、鋪滿屏幕)微信小程序502是什么意思如何實現(xiàn)小程序發(fā)送服務通知如何獲取小程序的unionid小程序API接口(一)小程序API接口(二)第三方平臺開發(fā)小程序(一)第三方平臺開發(fā)小程序(二)小程序項目介紹預覽 [溫州做小程序]