2023-01-05 07:12:24
微信小程序的登录流程主要涉及用户授权、获取用户信息以及与服务器进行交互。以下是详细的登录流程:
用户授权登录:
用户打开小程序时,需要先获取用户的授权。
微信提供了wx.login方法,用于获取用户的临时登录凭证(code)。调用wx.login获取code通常是在页面的onLoad方法或用户点击登录按钮时。如果登录成功,会返回一个code,这个code是临时登录凭证,有效期为5分钟。
将code发送到服务器:
小程序前端获取到code后,需要将其发送到开发者自己的服务器。
服务器端处理:
在服务器端,使用code向微信服务器请求session_key和openid。
微信服务器验证code的有效性后,会返回session_key、openid(以及unionid,如果小程序已绑定到微信开放平台账号)。
服务器端代码示例(Node.js):可以使用如axios的HTTP客户端,向微信的auth.code2Session接口发送GET请求,请求参数包括appid、secret和code,微信服务器会返回session_key、openid等信息。
开发者服务器生成自定义登录态:
开发者服务器可以根据返回的openid(或unionid)等信息,生成自定义的登录态(如token),用于后续业务逻辑中前后端交互时识别用户身份。
注意事项:会话密钥session_key是对用户数据进行加密签名的密钥,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
以上就是微信小程序获取用户信息并进行登录的完整流程。