Token鉴权

Token 是用户的凭证,由 AppID、秘钥(Appsecret)、用户ID 生成。Token 鉴权比 AppID 鉴权更复杂更安全,适用于安全性要求高的场景,例如登录音视频服务。

生成Token

Token分为临时Token和正式Token。临时Token由控制台提供,适用于项目测试阶段鉴权。正式Token需业务按照既定规则自行生成,应用于正式生产环境中。

生成临时Token

前提条件

创建项目(鉴权模式为 Token模式)并获取用户ID。

操作步骤

  1. 登录控制台 ,选择 项目管理
  2. 在项目列表中,点击鉴权图标并选择 临时Token
  3. 输入用户ID,点击 生成Token

生成正式Token

正式由 AppID、秘钥(Appsecret)、用户ID 按照既定规则生成。

前提条件

创建项目(鉴权模式为Token模式)并获取用户ID。

操作步骤

  1. 登录控制台 ,选择 项目管理
  2. 在项目列表点击修改图标,获取AppID、 秘钥。
  3. 按照示例代码规则生成正式Token,详见 Token生成示例

使用Token鉴权

在客户端调用接口集成功能时,传入生成的Token用于鉴权。鉴权通过后,才可以使用相关服务。

Token具有时效性,否则Token过期后,SDK与服务器会断开连接,导致服务中断。当收到Token即将过期或 Token过期通知时,需重新生成Token,并调用接口刷新Token。

Token格式说明

image

字段名称类型说明
tokenVersionint32Token版本
tokenLenint32整个Token的字节长度,包括tokenLen 字段和 DigitalSignature 字段
App IDint32项目ID
uidLenint16用户ID的长度
uidString在项目内唯一的用户ID
parameterLenint16权限参数键值对的个数,下面的key/value可以有多个
key长度int16key的字节长度
keyStringkey的内容
value长度int16value的字节长度
valueStringvalue的内容
privilegesint16各项权限的键值对个数
key长度int16key的字节长度
keyStringkey的内容
valueint64value的字节内容
buildTimestampMillsint64生成Token的UTC时间(1970年以来),单位:毫秒
validTimeint32Token 的有效时长,单位:秒
DigitalSignature/数字签名,20 字节

说明:

  • 多字节整数使用网络字节序,即大端。
  • Token的过期时间 = Timestamp + validTime * 1000, UTC时间(1970年以来),单位:毫秒。
  • 数字签名:采用hmac-sha1算法对 DigitalSignature 字段前的所有数据运算生成,运算所需key为App 秘钥,App 秘钥可以从 个人中心/项目管理 页面获取。
  • 因为Token要通过http传递,所以需对整个Token进行url安全的base64编码,注意不是对整个base64进行url encode。

文档是否有解决您的问题?

有帮助 没帮助
提交成功,非常感谢您的反馈!

反馈

TOP