用户信息授权

准备工作

移动应用VVChat登录是基于 OAuth2.0协议标准构建的OAuth2.0授权登录系统。

在进行VVChat OAuth2.0授权登录接入之前,在VVChat开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppKey,申请VVChat登录且通过审核后,可开始接入流程。

授权流程说明

授权流程分三步:

  1. 第三方发起VVChat授权登录请求,VVChat用户允许授权第三方应用后,VVChat会拉起应用,并且带上授权临时票据code参数;

  2. 通过code参数加上AppID和AppKey等,通过API换取访问token;

  3. 通过token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。(根据scope的不同可以获取到不同的权限。)

第一步:请求CODE

开发者需要配合使用VVChat开放平台提供的SDK进行授权登录请求接入。正确接入SDK后并拥有相关授权域(scope,

)权限后,开发者移动应用会在终端本地拉起VVChat应用进行授权登录,VVChat用户确认后VVChat将拉起开发者移动应用,并带上授权临时票据(code)。

Android平台应用授权登录接入代码示例(请参考Android接入指南):

1
2
3
4
5
6
7
// 构建登录请求对象
LoginRequest loginRequest = new LoginRequest();
loginRequest.setAppId(appId);
loginRequest.setScope("snsapi_userinfo");
loginRequest.setState("test");
// 发起登录请求
SDKUtils.SendRequest(loginRequest, context);
参数说明
参数 是否必须 说明
app_id 应用唯一ID,VVChat开发平台下发
scope 应用授权域,获取个人信息填写 snsapi_userinfo
state 用于保持请求与回调的状态,将原样返回第三方,该参数可以防止csrf攻击

可拉起VVChat打开授权登录页:

用户点击授权后,VVChat客户端会被拉起,跳转至授权界面,用户在该界面点击允许或取消,SDK将授权code传递给调用方。

返回说明
返回值 说明
err_code 0:用户同意 ,其他代号都表示错误
code 授权code,用来后续换取token用
state 第三方传入的安全状态码
第二步:通过code获取token

获取第一步的code后,请求以下链接获取token:

1
https://www.xxxxxxx.com/userservices/v2/authorization/token?app_id=APPID&app_key=APPKEY&code=CODE
参数说明
参数 是否必须 说明
app_id 应用唯一标识
app_key 应用密钥
code 授权code

返回说明

正确的返回:

1
2
3
4
5
{ 
"open_id":"OPENID",
"scope":"SCOPE",
"token":"TOKEN"
}
参数 说明
open_id 授权用户唯一标识
scope 授权作用域
token 接口调用凭证

错误返回样例(http状态码为400):

1
{"err_code":400,"err_msg":"无效的code"}
第三步:通过access_token调用接口
获取用户个人信息
请求说明

http请求方式: GET

1
2
3
4
https://xxxx//userservices/v2/authorization/userinfo

请求头:
Authorization: TOEKN
返回说明
参数 说明
open_id 用户open_id, 唯一标识
nickname 用户昵称
sex 用户性别 女 男

VVChat