小程序登录
主要目的
通过微信官方提供的登录能力获取微信提供的用户身份表示,建立小程序内的用户体系。
登录流程时序
- 登录:小程序、开发者服务器、微信接口服务
- 小程序 发起
wx.login()
获取临时登录凭证code, 小程序 发起wx.request()
发送code给开发者服务器 - 开发者服务器 调取 微信接口服务 的登录凭证校验接口
auth.code2Session
,并传入appid+appsecret+code
作为入参,微信接口服务 返回 用户唯一标识OpenID,用户在微信开放平台账号下的唯一标识UnionID和会话秘钥session_key 给 开发者服务器 - 开发者服务器 自定义登录态与
openid,session_key
关联,并将自定义登录态返回小程序 - 小程序 将 开发者服务器 返回的自定义登录态存入
storage
- 这样 小程序 通过
wx.request()
发起业务请求时携带自定义登录态 给 开发者服务器,开发者服务器 将通过自定义登录态查询 openid 和 session_key 返回业务数据给 小程序
注意
- 会话密钥
session_key
是对用户数据进行 加密签名 的密钥。开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
发到小程序,也不应该对外提供这个密钥。 - 临时登录凭证code只能使用一次。