由于小程序的登陆和登陆状态维护流程比较复杂,需要客户端和服务器的数次交互以及服务器端的相应处理,很多同学都觉得比较麻烦,所以特别写下这篇博客为大家梳理一下微信的登陆流程,同时加深对微信小程序与登陆状态有关的登陆态标识,用户数据解密,数据校验等具体实现的了解。
首先来说明一下微信的登陆和登陆状态标识实现的流程。
一.小程序登陆和登陆状态维护
微信登陆的主要步骤如下:
1. 调用 wx.login() ,成功后取得返回参数 code,用于后续换取 session_key.
2. 调用 wx.request() 将 code 发送到服务器
3. 服务器将 code 和存储在服务器的 appid 和 appscret 三个参数一起,向下面的微信服务器接口发起请求:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
获得返回参数 openid 和 session_key 。
请求url中的参数对应上文提到的三个参数。返回的op