- 用户触发登录:
- 用户在小程序内点击登录按钮或进行需要登录才能访问的操作时,触发登录流程。
- 小程序调用
wx.login()
:- 小程序前端调用
wx.login()
API 获取临时登录凭证(code)。这个code是后续获取用户唯一标识openid和会话密钥session_key的关键。
- 小程序前端调用
- 将code发送到后端服务器:
- 小程序将获取到的code发送到开发者自己的后端服务器。
- 后端服务器调用微信API换取openid和session_key:
- 后端服务器使用接收到的code,结合自己的
AppID
和AppSecret
,向微信服务器发送请求(通常是通过调用https://api.weixin.qq.com/sns/jscode2session
接口)。 - 微信服务器验证通过后,返回给后端服务器用户的openid和session_key。
- 后端服务器使用接收到的code,结合自己的
- 生成自定义登录态:
- 后端服务器根据openid等信息生成自定义登录态(如token),用于后续业务逻辑中前后端交互时识别用户身份。
- 将自定义登录态返回给前端小程序:
- 后端服务器将生成的自定义登录态返回给前端小程序。
- 前端小程序保存自定义登录态:
- 前端小程序接收到自定义登录态后,将其保存到本地(如使用
wx.setStorageSync()
API),并在后续请求中携带这个登录态。
- 前端小程序接收到自定义登录态后,将其保存到本地(如使用