这里仅按照官方推荐的规范来
一共有三端: - 微信小程序客户端 - 第三方服务器端(自己搭建) - 微信服务器端
微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端
小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和openid
第三方服务器端拿到请求回来的session_key和openid,先留着,不能给客户端;然后用操作系统提供的真正随机数算法生成一个新的session,叫3rd_session
将3rd_session作为key,微信服务端返回的session_key和openid作为值,保存起来
客户端只拿到3rd_session就够了,大人说话小孩别插嘴,小程序不需要知道session_key和openid
小程序每次请求都将3rd_session放在请求头里,第三方服务端解析判断合法性,并进行正常的逻辑处理。