微信小程式登入流程圖
一. 官方登入時序圖
官方的登入時序圖
二. 簡單了解
這裡僅按照官方推薦的規範來
0. 前置條件
一共有三端:
- 微信小程式用戶端
- 第三方伺服器端
- 微信伺服器端
1. 用戶端獲得code,并将code傳給第三方服務端
微信小程式端調用wx.login,擷取登入憑證(code),并調用接口,将code發送到第三方用戶端
2. 第三方服務端用code換session_key和openid
小程式端将code傳給第三方伺服器端,第三方伺服器端調用接口,用code換取session_key和openid
3. 第三方服務端生成新的session(3rd_session)
第三方伺服器端拿到請求回來的session_key和openid,先留着,不能給用戶端;然後用作業系統提供的真正随機數算法生成一個新的session,叫3rd_session
4. 第三方服務端建立對應關系,并存儲
将3rd_session作為key,微信服務端傳回的session_key和openid作為值,儲存起來
5. 第三方服務端将3rd_session發送到用戶端
用戶端隻拿到3rd_session就夠了,大人說話小孩别插嘴,小程式不需要知道session_key和openid
6. 正常請求
小程式每次請求都将3rd_session放在請求頭裡,第三方服務端解析判斷合法性,并進行正常的邏輯處理。
作者:狗尾草
個性簽名:海到無邊天作岸,山登絕頂人為峰!