首先先放上一个微信开发文档的登录流程时序,
调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器
调用 code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。
注意:
会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
临时登录凭证 code 只能使用一次
微信小程序和第三方服务器、微信服务器的登录身份验证流程为,微信小程序调用wx.login() 获取临时登录凭证code,这个code只能使用一次,code被回传到开发者的服务器。开发者服务器传给微信服务器APPID和APPsecret、code,调用微信服务器的code2Session接口,换取用户唯一标识OpenID和会话密钥session_key[1]。
result 用户信息结构,其中 result.detail 为具体用户加密数据,此数据等同于之前wx.getUserInfo 返回的数据,拿到值后,需要传递给服务端,解密数据并返回。 userInfo 请求接口后返回数据,结构如下: sessionid 用户sessionid标识 wxInfo 昵称,头像等
|