这里仅按照官方推荐的规范来算法
一共有三端:
- 微信小程序客户端
- 第三方服务器端(本身搭建)
- 微信服务器端小程序
微信小程序端调用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