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
函數。