小程序登录
小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。
登录流程时序图
名词释义
code:临时登录凭证,一次性且时效5分钟;
appid:小程序唯一标识;
appsecret:当前小程序的app secret 可以与code ,appId去换取session_key;
session_key:会话密钥,微信是不会把有效期告知开发者的,它会根据用户使用小程序的行为对session_key 进行续期。如果用户频繁使用,则有效期更长;
openid:当前用户在我们微信小程序中的唯一标识,永远不变。
登录流程时序解读
1:前端调用wx.login()获取用户临时登录凭证code。
2:前端通过wx.request()方法发送code 到后端,后端发送appid、appsecret、code到微信后台接口,换取 openid、session_key等,然后整合为自定义登录态返回给前端,前端把自定义登录态存储到本地。
3:后续要验证用户身份时,前端只需要在请求头上携带自定义登录态发送给后端,后端通过自定义登录态查询对应的openid和session_key,然后给前端返回相应的业务数据。
注意
- 会话密钥session_key是对用户数据进行加密签名的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥;
- 临时登录凭证code只能使用一次。