這裏僅按照官方推薦的規範來算法
一共有三端:
- 微信小程序客戶端
- 第三方服務器端(本身搭建)
- 微信服務器端小程序
微信小程序端調用wx.login,獲取登陸憑證(code),並調用接口,將code發送到第三方客戶端微信小程序
小程序端將code傳給第三方服務器端,第三方服務器端調用接口,用code換取session_key和openid服務器
第三方服務器端拿到請求回來的session_key和openid,先留着,不能給客戶端;而後用操做系統提供的真正隨機數算法生成一個新的session,叫3rd_session微信
將3rd_session做爲key,微信服務端返回的session_key和openid做爲值,保存起來session
客戶端只拿到3rd_session就夠了,大人說話小孩別插嘴,小程序不須要知道session_key和openid操作系統
小程序每次請求都將3rd_session放在請求頭裏,第三方服務端解析判斷合法性,並進行正常的邏輯處理。code