客户端
<open-data>
组件,可直接获取基本的用户数据- 需要登录的接口 -> buildHeader
- 无code:wx.login 获取code
- 有code:headers 设置 wx_code
- 授权回调 ->userInfo
- 定期wx.checkSession检测 session_key 是否过期
- wx.request 发送code到服务端
- x-check-login 用于判断是否需要登录校验
服务端
- 是否需要登录校验
- 根据code 进行 jscode2session 登录校验 -> 没有code
- checkUser _user
一些概念
- code 临时登录凭证(有效期五分钟,只能使用一次)
- client: wx.login() -> code
- header 封装自定义登录态(用于需要静默登录的接口)
- X-Wx-Code: code
- X-Wx-Rawdata: random
- User-Agent: token
- client: wx.request(avatar、nickname) -> openid
- appid 小程序唯一标识、appsecret 小程序密钥
- session_key 会话密钥(对用户数据进行加密签名)、openid 用户唯一标识
- server: code + appid + appsecret -> jscode2session -> openid、session_key、unionid
- jscode2session 登录凭证校验接口
- 3rd_session
- unioinid 用户在微信开放平台的唯一标识。
- 同一个用户,在同一个微信开放平台下的不同应用,unionid是相同的
- 云函数 cloud.getWXContext 获取 unionId
- accessToken 后台接口调用凭证
- server: appid + appsecret -> getAccessToken
- getAccessToken