三方自有账号对接
更新时间:2019-05-16 11:31:41
概述
- 用户服务基于 Oauth2.0 API 协议提供厂商三方自有账号对接功能,支持厂商仅使用自有账号,或同时使用账号服务和自有账号。若需使用三方自有账号功能,可在账号 SDK 进行自有账号对接的配置。
使用
- 步骤1:点击账号 SDK 配置,开始自有账号对接
- 步骤2:完成自有账号对接相关参数配置并确认保存,其中访问/刷新 URL 和 GetuserinfoURL 需厂商提供前缀,详细对接文档请参考下文
三方账号登录流程说明
第一步
获取Authorization Code,此步骤由三方厂商直接下发。
第二步
1、通过 Authorization Code 获取 Access Token
URL如:https://third.com/oauth2.0/get_access_token,querystring 根据厂商的配置信息自动拼接,注意字段名称需匹配。
请求方法:Post
- 请求参数:
字段说明 | 类型 | 描述 |
---|---|---|
grant_type | String | 授权类型,这里固定为字符串 authorization_code |
client_id | String | appKey |
client_secret | String | appSecret |
code | String | 第三步返回的authCode |
- 返回字段:如果成功返回,即可在返回包中获取到Access Token,如:
字段说明 | 类型 | 描述 |
---|---|---|
access_token | String | 授权令牌,Access_Token。 |
expires_in | String | 该access token的有效期,单位为秒。 |
refresh_token | String | 在授权自动续期步骤中,获取新的Access_Token时需要提供的参数。 |
openid | String | 用户唯一标识 |
result_code/message | String | 公共结果码和Message |
2、刷新 access_token (权限自动续期)
URL 与获取 AccessToken 一致,但 grant_type 不同。
URL如:https://third.com/oauth2.0/get_access_token,querystring 根据厂商的配置信息自动拼接, 注意字段名称需匹配。
请求方法:Post
- 请求参数:
字段说明 | 类型 | 描述 |
---|---|---|
grant_type | String | 授权类型,这里固定为字符串: refresh_token |
client_id | String | appKey |
client_secret | String | appSecret |
refresh_token | String | 获取accessToken返回的refresh_token |
字段说明 | 类型 | 描述 |
---|---|---|
access_token | String | 授权令牌,Access_Token。 |
expires_in | String | 该access token的有效期,单位为秒。 |
refresh_token | String | 在授权自动续期步骤中,获取新的Access_Token时需要提供的参数。 |
result_code/message | String | 公共结果码和Message |
第三步
通过access_token、openid获取用户信息
URL如:https://thrid.com/sns/userinfo
请求方法:Post
- 请求参数:
字段说明 | 类型 | 描述 |
---|---|---|
access_token | String | 第二步获取的access token |
openid | String | 用户唯一标识 |
- 返回字段
返回JSON数据:
{
"result_code": "0", // 字符串
"message": "成功",
"openid": "OPENID", // 字符串类型,必须
"nick_name": "NICKNAME", // 字符串类型 必须
"mobile": "1xxx", // 字符串类型 可选
"avatar_url": "image.com/xxxx.png", // 可选
"gender": "1" // 1: 男 2:女 0: 未知
}
公共返回结果码约定
结果码 | 说明 |
---|---|
0 | 成功 |
100001 | AccessToken过期 |
100002 | 用code换取access token值失败 |
100003 | RefreshToken已过期或已失效 |
100004 | 用户改密或解除授权导致AccessToken失效 |
100005 | AccessToken非法 |
100006 | 无效的OpenId |
110000 | 系统通用错误(无法--列出其他所有错误,需联系三方ISV |
开始使用服务
开启服务后,可以开始使用本服务。