概述
声网灵隼提供账号绑定等服务。但如果你需要使用自研或第三方的账户系统,声网灵隼也提供了相应的 RESTful API。你可以在自己的业务服务器中通过 RESTful API 与声网灵隼云平台进行云云对接。
第三方账号注册/备案(POST)
注册并备案第三方账号。
POST https://api.agora.io/agoralink/cn/api/oauth/third-party/register
请求参数
参数 |
类型 |
描述 |
projectId |
String |
必填。你的声网 Project ID。详见配置开发参数。 |
thirdPartyAccount |
String |
必填。你使用的第三方用户账号。 |
响应参数
响应参数(200)
参数 |
类型 |
描述 |
code |
Number |
返回状态码,0 表示请求成功,其他状态码均为失败。 |
msg |
String |
请求结果描述。 |
timestamp |
Number |
Unix 时间戳(ms)。 |
data.userId |
String |
用户 ID。 |
data.token |
String |
第三方账号认证令牌。 |
success |
Boolean |
请求是否成功。 |
响应参数(201)
参数 |
类型 |
描述 |
code |
Number |
返回状态码,0 表示请求成功,其他状态码均为失败。 |
msg |
String |
请求结果描述。 |
timestamp |
Number |
Unix 时间戳(ms)。 |
success |
Boolean |
请求是否成功。 |
示例
请求示例
{
"projectId": "1254",
"thirdPartyAccount": "xiaobai6"
}
响应示例(200)
{
"code": 0,
"msg": "SUCCESS",
"timestamp": 1659002297891,
"data": {
"userId": "100000000000000000_712573185701490688",
"token": "uwmgZAQvxxxxxxxxxxxx53qrjUnWgapzQoYV46"
},
"success": true
}
响应示例(201)
{
"code": 400,
"msg": "invalid_grant",
"timestamp": 1652450193251,
"success": false
}
第三方账号登录(POST)
登录第三方账号。
POST https://api.agora.io/agoralink/cn/api/oauth/third-party/login
请求参数
参数 |
类型 |
描述 |
clientId |
String |
必填。客户端 ID。你需要联系 sales@agora.io 获取该参数。 |
clientSecret |
String |
必填。客户端秘钥。你需要联系 sales@agora.io 获取该参数。 |
projectId |
String |
必填。你的声网 Project ID。详见配置开发参数。 |
thirdPartyAccount |
String |
必填。第三方用户账号。 |
token |
String |
必填。认证令牌,在第三方账号注册时通过 data.token 参数返回。 |
响应参数
响应参数(200)
参数 |
类型 |
描述 |
code |
Number |
返回状态码,0 表示请求成功,其他状态码均为失败。 |
msg |
String |
请求结果描述。 |
timestamp |
Number |
Unix 时间戳(ms)。 |
data.lsToken.access_token |
String |
认证令牌。 |
data.lsToken.token_type |
String |
认证令牌类型。 |
data.lsToken.refresh_token |
String |
刷新认证令牌。 |
data.lsToken.expires_in |
String |
刷新认证令牌有效期。 |
data.lsToken.scope |
String |
令牌范围。 |
data.gyToken.endpoint |
String |
IoT 平台节点。 |
data.gyToken.pool.identifier |
String |
AWS 用户身份唯一认证码。 |
data.gyToken.pool.identityId |
String |
AWS 用户身份 ID。用于手机设备进行 MQTT on Websocket 连接的 Client ID。 |
data.gyToken.pool.identityPoolId |
String |
AWS 用户身份池标识。 |
data.gyToken.pool.token |
String |
AWS 用户身份凭证。 |
data.gyToken.expiration |
String |
granwin_token 过期时间。 |
data.gyToken.granwin_token |
String |
接口会话 token。 |
data.gyToken.proof.accessKeyId |
String |
IoT 临时账号凭证。 |
data.gyToken.proof.secretKey |
String |
IoT 临时密钥。 |
data.gyToken.proof.sessionToken |
String |
IoT 临时 Token。 |
data.gyToken.proof.sessionExpiration |
String |
过期 Unix 时间戳(ms)。 |
data.gyToken.region |
String |
AWS 节点。 |
data.gyToken.account |
String |
app 用户名。 |
success |
Boolean |
请求是否成功。 |
示例
请求示例
{
"clientId": "959815xxxxxxxxx0f40aad5",
"clientSecret": "MRbRz1kxxxxxxxxYMZSYc1Ue06v",
"projectId": "1254",
"thirdPartyAccount": "xiaobai6",
"token": "bZN2Zxmdr7BxxxxxxxxxxxyhHiiMP5OG9vTBIqA"
}
响应示例(200)
{
"code": 0,
"msg": "SUCCESS",
"timestamp": 1659002329462,
"data": {
"lsToken": {
"access_token": "NpKnxxxxxxxxxx-sFQiBbI",
"token_type": "bearer",
"refresh_token": "Rv4hnY2xxxxxxxxsoQ45vU",
"expires_in": 43199,
"scope": "read"
},
"gyToken": {
"endpoint": "axxxxxxxxx85d.ats.iot.cn-north-1.amazonaws.com.cn",
"pool": {
"identifier": "100000000000000000_680a87117509885c39698b37577ed2e0_712573185701490688",
"identityId": "cn-north-1:b8xxxxxxxxx47a3-9aaa-974135e0da67",
"identityPoolId": "cn-north-1:a6e5e0xxxxxxxx7d940",
"token": "eyJraWQiOiJjbi1xxxxxxxxxxxxxxxx3aFNJGkBEM8xNk2hM9IAIFdV6FebIvOYbw"
},
"expiration": 7200,
"granwin_token": "granwin_aws_user_info_hash:_7200_xxxxxxxxxxx36296101",
"proof": {
"accessKeyId": "ASIA2xxxxxxxxxMPY",
"secretKey": "esWgtxxxxxxxxxxxZ0TVx",
"sessionToken": "FwoDYXdzENL//////////wEaDPMINGMxxxxxxxxxxxxxxxxxxxtqX4Wu3w==",
"sessionExpiration": 1659005928000
},
"region": "cn-north-1",
"account": "680axxxxxxxxxxx77ed2e0"
}
},
"success": true
}
响应示例(201)
{
"code": 999999,
"msg": "The user not exists. projectId={1254}, thirdPartyAccount={xiaobai1233}",
"timestamp": 1659003562090,
"success": false
}
第三方账号注销(POST)
注销第三方账号。
POST https://api.agora.io/agoralink/cn/api/oauth/third-party/removeAccount
请求参数
参数 |
类型 |
描述 |
projectId |
String |
必填。你的声网 Project ID。详见配置开发参数。 |
thirdPartyAccount |
String |
必填。第三方用户账号。 |
token |
String |
必填。认证令牌,在第三方账号注册时通过 data.token 参数返回。 |
响应参数
响应参数(200)
参数 |
类型 |
描述 |
code |
Number |
返回状态码,0 表示请求成功,其他状态码均为失败。 |
msg |
String |
请求结果描述。 |
timestamp |
Number |
Unix 时间戳(ms)。 |
success |
Boolean |
请求是否成功。 |
响应参数(201)
参数 |
类型 |
描述 |
code |
Number |
返回状态码,0 表示请求成功,其他状态码均为失败。 |
msg |
String |
请求结果描述。 |
timestamp |
Number |
Unix 时间戳(ms)。 |
success |
Boolean |
请求是否成功。 |
示例
请求示例
{
"projectId": "1254",
"thirdPartyAccount": "hei1",
"token": "o70nfa9f5zhsxxxxxxxxxxxxQzJQZokVs4Vg"
}
响应示例(200)
{
"code": 0,
"msg": "SUCCESS",
"timestamp": 1660036204632,
"success": true
}
响应示例(201)
{
"code": 999999,
"msg": "The user not exists. projectId={1254}, thirdPartyAccount={xiaobai1233}",
"timestamp": 1659003562090,
"success": false
}