小程序的登录
Jeff的技术栈 人气:1
[TOC]
# 官方文档
# 小程序登录
小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。
## 登录流程时序
![img](https://res.wx.qq.com/wxdochttps://img.qb5200.com/download-x/dist/assets/img/api-login.2fcc9f35.jpg)
## 说明:
1. 调用 [wx.login()](https:/https://img.qb5200.com/download-x/developers.weixin.qq.com/miniprogramhttps://img.qb5200.com/download-x/dev/api/open-api/login/wx.login.html) 获取 **临时登录凭证code** ,并回传到开发者服务器。
2. 调用 [auth.code2Session](https:/https://img.qb5200.com/download-x/developers.weixin.qq.com/miniprogramhttps://img.qb5200.com/download-x/dev/api-backend/open-api/login/auth.code2Session.html) 接口,换取 **用户唯一标识 OpenID** 和 **会话密钥 session_key**。
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。
**注意:**
1. 会话密钥 `session_key` 是对用户数据进行 [加密签名](https:/https://img.qb5200.com/download-x/developers.weixin.qq.com/miniprogramhttps://img.qb5200.com/download-x/dev/framework/open-ability/signature.html) 的密钥。为了应用自身的数据安全,开发者服务器**不应该把会话密钥下发到小程序,也不应该对外提供这个密钥**。
2. 临时登录凭证 code 只能使用一次
# 小程序的登录总结
```
1 小程序端执行wx.login()获取code
2 将1中的code发送到后端,后端调用auth.code2Session这个接口,得到openid和session_key
3 自定义登入状态,我们生成一个key与openid和session_key相绑定。把key返回到小程序中
4 小程序端保存,然后下次请求需要登入的接口的时候,把key带上。
```
加载全部内容