1.简介
登录凭证校验。通过 微信小程序 wx.login 接口获得临时登录凭证 code 调用此接口完成登录流程。
2.过程详解
Step1:获取Authorization Code
请求地址 | 请求方法 |
/oauth/authorize | GET |
请求参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
response_type | String | 是 | 4 | 授权类型,此值固定为“code” | |
client_id | String | 是 | 32 | 申请金康云登录成功后,分配给应用的appid | |
state | String | 是 | 120 | 原样带回参数 | |
scope | String | 是 | 15 | 授权模式,此值固定为“get_wxapplet_user_info” | |
wxid | String | 是 | 32 | 微信ID | |
redirect_uri | String | 是 | 256 | 业务授权域名 | http://www.aimlt.com |
wx_code | String | 是 | 32 | 通过 微信小程序 wx.login 接口获得临时登录凭证 code,详情小程序开发文档。 |
|
返回说明:
{
"openid": "微信小程序用户OPENID",
"session_key": "微信小程序用户会话密钥",
"unionid": "微信用户唯一ID",
"state": "原样返回参数",
"code": "xx",
"errcode": 200,
"errmsg": "ok"
}
Step2:通过微信小程序(wx.getUserInfo)拉取用户授权获取基本信息,在调用此接口获得access_token。
详情微信小程序开发文档:https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/wx.getUserInfo.html
请求地址 | 请求方法 |
/oauth/authorize/getWxAppletAccessToken | GET/POST |
请求参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
wxid | String | 是 | 32 | 微信ID | |
client_id | String | 是 | 32 | 应用appid | |
encryptedData | String | 是 | 256 | 包括敏感数据在内的完整用户信息的加密数据,详见 微信小程序用户数据的签名验证和加解密 | |
session_key | String | 是 | 32 | 会话密钥,通过小程序获得 | |
iv | String | 是 | 32 | 向量,通过小程序获得 | |
code | String | 是 | 32 | 通过上一步获得授权码,只能使用一次,并且有效期600S |
|
返回示例
如果成功返回,即可在返回包中获取到Access Token。 如:
{
"access_token":"39e0dea2ed932f0bbe6b6f29b2a763b362f8d30c7446b3e3da71dfa661f568979c7d0580614d83d8",
"expires_in":1578582025,
"refresh_token":"48c0f6d14e4a4ea8883c8f17d885380957fb992957bf9fb176fd2f0b6fe6794bcdf3acff434b29db1b6dc94f927618235703de8f927f59df811cb4dd",
"scope":"get_wxapplet_user_info"
}
返回参数说明
参数 | 描述 |
access_token | 授权令牌,Access_Token |
expires_in | 该access token的有效期,Unix时间戳 |
refresh_token | 在授权自动续期步骤中,获取新的Access_Token时需要提供的参数。注:refresh_token仅一次有效 |
scope | 授权模式
|
Step3:通过access_token换取客户端的用户Openid
请求地址 | 请求方法 |
/oauth/me | GET/POST |
请求参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
access_token | String | 是 | N | 授权令牌,上一步获得 |
|
成功返回示例
{
"client_id": "20241709018426",
"openid": "19169a03ecfb672dfb181edc928194ee"
}
返回参数说明
参数 | 描述 |
client_id | 客户端ID |
openid | 客户端用户ID |
下一步,根据需要选择
1.获取站内用户信息
2.还可以:获取第三方用户信息