小程序:授權、登錄、session_key、openid



從上圖中,我們可以看出,小程序中登錄步驟如下:

① 小程序前端使用wx.login() 從微信服務器獲取code

② 小程序前端將code 發送給開發者服務器,開發者服務器利用appId、appSecret 和code 向微信服務器換換取用戶openId 和session_key

③ 開發者服務器自定義登錄態並將其與openId 和session_key 關聯起來然后寫session

④ 開發者服務器將登錄態返回給小程序前端,小程序前端使用wx.setStorageSync() 將登錄態保存起來

⑤ 小程序前端在執行業務請求時將登錄態發送給開發者服務器,以便開發者服務器知道當前操作的用戶是哪位。

也就是說,在整個過程中小程序前端是拿不到用戶openId 的,它只能通過開發者服務器發給它的登錄態來告訴服務器當前用戶的信息。登錄過程中涉及session_key 和unionId,於是又引出了下面的問題。

  1. session_key 的作用

session_key 的作用之一是將小程序前端從微信服務器獲取到的encryptedData 解密出來,獲取到openId 和unionId 等信息
從文檔中可以看到getPhoneNumber 返回的用戶數據是加密過的,只有使用session_key 才能解密,而小程序前端沒有session_key,所以無法獲取到用戶的手機,只能傳到開發者服務器進行處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM