用户(账号)服务

更新时间:2019-07-24 13:45:28

平台支持以下两种类型用户账号服务:平台的内置账号体系 和 自有账号体系。

内置账号体系: 平台默认提供一套账号体系,以手机号作为账号,包括账号的注册、登录、找回密码、用户信息查看和修改。 适用场景:如果开发者原来并没有自己的账号体系,或想重新搭建一套新的账号体系,可以使用该“内置账号体系”方式。

自有账号体系: 平台支持开发者将自己的账号体系,通过进行Oauth认证和平台的用户体系进行关联,维护自己的用户和设备之间的绑定关系、消息通道等。 使用场景:如果开发者原来已有自己的账号体系,可以选择“自有账号体系”方式。

内置账号体系

内置账号体系为平台提供的服务和能力,客户端集成平台账号SDK即可使用;

  1. 注册和登录 账号SDK支持唤起登录页面,包括账号注册 和 找回密码;具体使用可以参考以下链接:iOS 用户账号 Android用户账号
  2. 用户信息查看和修改 如果希望内置账号体系的用户信息更加完善,可以通过调用云端服务完善用户信息,然后再获取完善后的用户信息。 目前服务支持更新用户头像,需要开发者自行保存头像到自定义服务器,然后将最终的头像链接地址保存到平台上。可使用如下服务: 更新用户账号信息 获取用户账号信息

自有账号体系

自有账号体系,基于Oauth2.0 API协议提供厂商三方自有账号对接功能, 支持厂商使用自有账号对接业务。

  1. 控制台进行配置 步骤1:在开发环境选择需使用自有账号的应用所在的项目,并在项目配置中选择自有账号对接 步骤2:完成自有账号对接的相关参数配置并确认保存,其中访问/刷新URL和 GetuserinfoURL 需厂商提供前缀,详细对接文档请参考下文 步骤3:在开发环境进行测试,若测试成功需再在生产环境配置一遍。

图片2.png

  1. 控制台配置完成后,需要在客户端集成SDK部分完成对接,需要传入OAuth的 authCode参数。 具体对接流程: iOS 用户账号 Android用户账号

参考

三方账号对接流程说明

第一步

获取Authorization Code,此步骤由三方厂商直接下发。

第二步

1、通过Authorization Code获取Access Token URL如:https://third.com/oauth2.0/get_access_token,querystring根据厂商的配置信息自动拼接,注意字段名称需匹配。 请求方法:POST

示例:

https://test.net/api/users/oauth/token?grant_type=authorization_code&client_id=testxxx&client_secret=testxxxxx&code=test222224tD2fVtestNL3cVojFZL6&redirect_uri=none

请求参数:

  • grant_type=authorization_code (此为固定值)

  • client_id 即appKey

  • client_secret 即appSecret

  • code 为三方服务器颁发的临时验证值

refresh_token 用于刷新access_token 返回说明:如果成功返回,即可在返回包中获取到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

请求示例:

https://test.net/api/users/oauth/token?grant_type=refresh_token&client_id=testxx&client_secret=test2222&refresh_token=test222testaaaL6

请求参数:

  • grant_type=refresh_token (本步骤中为refresh_token)

  • client_id 即appKey

  • client_secret 即appSecret

  • refresh_token 获取accessToken返回的refresh_token 返回说明:

参数说明 描述
access_token 授权令牌,Access_Token。
expires_in 该access token的有效期,单位为秒。
refresh_token 在授权自动续期步骤中,获取新的Access_Token时需要提供的参数。
result_code/message 公共结果码和Message

第三步

通过access_token、openid获取用户信息 URL如:https://thrid.com/sns/userinfo 请求参数:

  • access_token 必须

  • openid 必须 返回JSON数据: { "result_code": "0" 字符串 "message": "成功", "openid":" OPENID", 字符串类型,必须 "nick_name": NICKNAME, 字符串类型 必须 "mobile":"1xxx", 字符串类型 可选 "avatar_url": "image.com/xxxx.png" 可选 "gender": "1" 1: 男 2:女 0:未知 }

请求示例:

https://testxx.net/api/users/oauth/userinfo?access_token=testaaaatest222a779537c6687c3&openid=cjtestwwd458test

公共返回结果码约定

结果码 说明
0 成功
100001 AccessToken过期
100002 用code换取access token值失败
100003 RefreshToken已过期或已失效
100004 用户改密或解除授权导致AccessToken失效
100005 AccessToken非法
100006 无效的OpenId
110000 系统通用错误(无法--列出其他所有错误,需联系三方ISV

results matching ""

    No results matching ""