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