使用Token鉴权

RTC为您提供两种生成Token的方式。通过阅读本文,您可以了解控制台和服务端生成Token的方法。

前提条件

背景信息

Token是阿里云设计的一种安全保护签名,目的是为了阻止恶意攻击者盗用您的云服务使用权。您需要在相应SDK的登录函数中提供AppIDUserIDChannelIdToken信息。其中AppID用于标识您的应用,UserID用于标识您的用户,而Token则是基于算法计算得出。因此,攻击者很难通过伪造Token盗用您的云服务流量。

注意事项

通过控制台生成的Token为临时Token,一般用于测试使用。如果需要正式使用,请使用服务端生成Token。

控制台生成Token

  1. 登录音视频通信RTC控制台

  2. 在左侧导航栏选择接入工具,进入接入工具界面。

服务端生成Token

相对于控制台生成Token,服务端生成Token可以最大限度地保障计算Token的密钥不被泄露,具体的流程如下所示:

  1. 您的App在调用SDK的初始化函数之前,首先要向您的服务器请求Token

  2. 您的服务器根据阿里云提供的AppToken工具计算Token

  3. 您的服务器将计算好的鉴权信息返回给您的App。

  4. 您的App将获得的鉴权信息通过您的业务API传递给SDK。

  5. SDK将鉴权信息提交给阿里云服务器进行校验。

  6. 阿里云校验鉴权信息,确认合法性。

  7. 校验通过后,即可开始提供实时音视频服务。image

参数

说明

AppID

应用ID,通过控制台创建。

UserID

您的唯一标识,由AppServer生成。同一个UserId的用户在其他端登录,先入会的端会被后入会的端踢出房间。 由大小写字母、数字组成,最大64字节。例如:2b9be4b25c2d38c409c376ffd2372be1。

ChannelID

频道ID,AppServer生成。不支持设置ChannelID为0,并且ChannelID不可以重复,需要保持ChannelID的唯一。由大小写字母、数字、短划线(-)组成,最大64字节。例如:181-218-3406。

Token

加入频道的Token,由AppServer生成。Token有效期最多在当前时间戳基础之上再增加24小时。

服务端生成Token的方法,您可以参见如下示例: GitHubGitee

  • Java程序实例请查看AppToken类。

  • Go程序实例请查看CreateAppToken函数。

  • C#程序实例请查看Program函数。

  • Python3程序实例请查看app_token函数。

  • Python2程序实例请查看app_token函数。

  • PHP程序实例请查看index函数。

  • Node.js程序实例请查看index函数。