天天看點

小程式登陸流程解析

微信小程式登入流程圖

一. 官方登入時序圖

官方的登入時序圖

小程式登陸流程解析

二. 簡單了解

這裡僅按照官方推薦的規範來

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放在請求頭裡,第三方服務端解析判斷合法性,并進行正常的邏輯處理。

作者:狗尾草

個性簽名:海到無邊天作岸,山登絕頂人為峰!

小程式登陸流程解析