搜尋
首頁微信小程式小程式開發如何取得小程式的unionid

如何取得小程式的unionid

Jun 10, 2020 am 11:41 AM
小程式

如何取得小程式的unionid

如何取得小程式的unionid?

問題背景:做了微信小程序,一切都還正常,但是最後體驗版放出去時,卻發現很多用戶無法綁定用戶,後台返回:參數非法。經過多方檢查,發現是微信拿到的code請求回傳的資料裡沒有UnionId,也就是介面回傳的參數不包含UnionId參數。

1、UnionID機制說明

  簡而言之,微信針對不同的用戶在不同的應用下都有唯一的一個openId,但是要想確定用戶是不是同一個用戶,就需要靠unionid 來區分。通常自己的後台都會有自己的一個使用者表,每個使用者有不同的 userid。也就是說同一個使用者在同一個微信開放平台下的相同主體的應用對應著相同的 userid, unionid 以及不同的 openid。所以當用戶登入進來的時候,我們只能靠微信回傳給我們的 unionid 去判斷是不是同一個用戶,再去關聯我們的用戶表,拿到對應的 user_id。

  注意: 後邊這句話的描述:用戶關注過公眾號,或者曾經登入過App或公眾號,則用戶開啟小程式時,開發者可以直接透過wx.login取得到該用戶UnionID 。即:如果使用者沒有追蹤公眾號,或沒有登陸過App,透過wx.login是無法取得到該使用者UnionID,只能透過wx.getUserInfo來取得UnionId。經驗證,系統不存在UnionId的小程式使用者都是沒有關注公眾號或未在App中使用微信授權的使用者

2、問題背景

  一般情況下(即在登入小程式之前,已經關注過公眾號或已經登入公眾號或已經使用微信登入的方式登入過app),使用者透過以下兩步驟就正常成功登入網站:(1)wx.login取得code;(2)透過code請求後台,後台轉發微信api用來換取openid及session_key等信息,此可以得到Unionid

  另一種情況(即在登入小程式之前,既沒有關注過公眾號,也沒有登入公眾號,更沒有使用微信登入的方式登入app),透過wx.login 的到的code 換不回unionid 及openid 等資訊。

3、解決方案:

  取得小程式UnionId應該以wx.getUserInfo的UnionId為主。 wx.getUserInfo需要使用者授權,產品方面,需要考慮使用者拒絕授權的處理流程。

  wx.getUserInfo取得資料之後解密的方法,可以看官方文件。

  解決想法:透過帶有登錄態的 wx.getUserInfo 取得到使用者的加密資料encryptedData 和加密演算法的初始向量iv,然後將encryptdata、iv 以及code傳給後端,後端再去透過接收到的encryptedData、iv以、code 以及先前的session_key 解密出使用者的openid、unionid 等。加密資料解密演算法

相關推薦:小程式教學

#

以上是如何取得小程式的unionid的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。