微信小程序开发之微信登录流程

微信登录的一般流程【极其详细版】

在这里插入图片描述

  1. 用户点击登录按钮后调用服务器端接口,服务器端从小程序端发起的请求中获取code值(姑且认为是获取openId的参数)
  2. 再将code、appid、APPsecret 作为参数远程调用微信接口(如下):
    https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code (GET)
    获取openId + session_key。
  3. 之后服务器端生成session_3rd (就是sessionkey值,又称自定义登录态,可以是一串不冲突的字符串)将openId + session_key(key-value中的value)存储到服务器端的redis/cachememory缓存,返回session_3rd的值(key-value中的key)小程序将其存储到wxstorage中。服务器端的session设置超时时间小于3天(因为session_key的有效期一般为3天)。
  4. 获取了session_3rd 信息后,小程序跳转到授权界面,通过点击授权按钮调用getUserProfile 微信接口将session_3rd 和UserInfo作为参数调用服务器端的登录接口
  5. 如果session_3rd 没过期,就从缓存中获取openId,之后从数据库中查询openId如果没有就创建新的用户记录,并将UserInfo(用户昵称、头像、性别等)保存到数据库中,如果已经有了就更新记录,并提示登录成功

猜你喜欢

转载自blog.csdn.net/qq_31236027/article/details/120310124