RTC为您提供两种生成Token的方式。通过阅读本文,您可以了解控制台和服务端生成Token的方法。
前提条件
您已经开通RTC服务。具体操作,请参见开通服务。
您已经创建好应用。具体操作,请参见创建应用。
您已经获取AppKey。具体操作,请参见查询指定应用AppKey。
背景信息
Token是阿里云设计的一种安全保护签名,目的是为了阻止恶意攻击者盗用您的云服务使用权。您需要在相应SDK的登录函数中提供AppID、UserID、ChannelId和Token信息。其中AppID用于标识您的应用,UserID用于标识您的用户,而Token则是基于算法计算得出。因此,攻击者很难通过伪造Token盗用您的云服务流量。
注意事项
通过控制台生成的Token为临时Token,一般用于测试使用。如果需要正式使用,请使用服务端生成Token。
控制台生成Token
登录音视频通信RTC控制台。
在左侧导航栏选择接入工具,进入接入工具界面。
服务端生成Token
相对于控制台生成Token,服务端生成Token可以最大限度地保障计算Token的密钥不被泄露,具体的流程如下所示:
您的App在调用SDK的初始化函数之前,首先要向您的服务器请求Token。
您的服务器根据阿里云提供的AppToken工具计算Token。
您的服务器将计算好的鉴权信息返回给您的App。
您的App将获得的鉴权信息通过您的业务API传递给SDK。
SDK将鉴权信息提交给阿里云服务器进行校验。
阿里云校验鉴权信息,确认合法性。
校验通过后,即可开始提供实时音视频服务。
参数 | 说明 |
AppID | 应用ID,通过控制台创建。 |
UserID | 您的唯一标识,由AppServer生成。同一个UserId的用户在其他端登录,先入会的端会被后入会的端踢出房间。 由大小写字母、数字组成,最大64字节。例如:2b9be4b25c2d38c409c376ffd2372be1。 |
ChannelID | 频道ID,AppServer生成。不支持设置ChannelID为0,并且ChannelID不可以重复,需要保持ChannelID的唯一。由大小写字母、数字、短划线(-)组成,最大64字节。例如:181-218-3406。 |
Token | 加入频道的Token,由AppServer生成。Token有效期最多在当前时间戳基础之上再增加24小时。 |
服务端生成Token的方法,您可以参见如下示例: GitHub、Gitee。
Java程序实例请查看
AppToken
类。Go程序实例请查看
CreateAppToken
函数。C#程序实例请查看
Program
函数。Python3程序实例请查看
app_token
函数。Python2程序实例请查看
app_token
函数。PHP程序实例请查看
index
函数。Node.js程序实例请查看
index
函数。