官方文档
说明:
<强>调用强>
-
<李> wx.login()获取临时登录凭证代码,并回传到开发者服务器。李>
<李>调用code2Session接口,换取用户唯一标识OpenID和会话密钥session_key。李>
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。
<强>注意:强>
会话密钥<代码> session_key> 代码是对用户数据进行加密签名的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
临时登录凭证代码只能使用一次
<强>总结:强>
小程序端执行wx.login后在回调函数中就能拿到上图的代码,然后把这传个代码给我们后端程序,后端拿到这个这个代码后,可以请求code2Session接口拿到用的openid和session_key, openid是用户在微信中唯一标识,我们就可以把这个两个值(val)存起来,然后返回一个键(关键)给小程序端,下次小程序请求我们后端的时候,带上这个钥匙,我们就能找到这个val,就可以,这样就把登入做好了。
调用接口获取登录凭证(代码)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话
密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。[/代码]
参数
属性 类型 默认值 必填 说明 最低版本 超时 数量 , 否 超时时间,单位女士 1.9.90 成功 函数 , 否 接口调用成功的回调函数 , 失败 函数 , 否 接口调用失败的回调函数 , 完整的 函数 , 否 接口调用结束的回调函数(调用成功,失败都会执行) ,
对象。成功回调函数
参数
属性 类型 说明 代码 字符串 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用,code2Session,使用代码换取openid和session_key等信息
本接口应在服务器端调用,详细说明参见服务端API。
登录凭证校验。通过wx.login()接口获得临时登录凭证代码后传到开发者服务器调用此接口完成登录流程。更多使用方法详见小程序登录。
请求地址
https://api.weixin.qq.com/sns/jscode2sessionappid=APPID&秘密=SECRET& js_code=JSCODE& grant_type=authorization_code
请求参数
属性 类型 默认值 必填 说明 appid 字符串 , 是 小程序appId 秘密 字符串 , 是 小程序appSecret js_code 字符串 , 是 登录时获取的代码 grant_type 字符串 , 是 授权类型,此处只需填写authorization_code
返回值
对象
返回的JSON数据包
属性 类型 说明 openid 字符串 用户唯一标识 session_key 字符串 会话密钥 unionid 字符串 用户在开放平台的唯一标识符,在满足UnionID下发条件的情况下会返回,详见,UnionID机制说明。 errcode 数量 错误码 errmsg 字符串 错误信息
errcode的合法值
值
说明
1
系统繁忙,此时请开发者稍候再试
0
请求成功
40029
代码无效
45011
频率限制,每个用户每分钟100次