API:wx.login(OBJECT)

调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key)。用户数据的加解密通讯需要依赖会话密钥完成。

OBJECT参数说明:

微信小程序平台登录(微信小程序--)(1)

其中,success返回参数说明:

微信小程序平台登录(微信小程序--)(2)

示例代码:

微信小程序平台登录(微信小程序--)(3)

code 换取 session_key

这是一个 HTTP 接口,开发者服务器使用登录凭证 code 获取 session_key 和 openid。其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。

返回参数:

微信小程序平台登录(微信小程序--)(4)

返回说明

微信小程序平台登录(微信小程序--)(5)

登录态维护

通过 wx.login() 获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态(请参考登录时序图)。对于开发者自己生成的 session,应该保证其安全性且不应该设置较长的过期时间。session 派发到小程序客户端之后,可将其存储在 storage ,用于后续通信使用。

登录时序图

微信小程序平台登录(微信小程序--)(6)

wx.checkSession(OBJECT)

检查登陆态是否过期

微信小程序平台登录(微信小程序--)(7)

,