1 回答

TA貢獻1789條經驗 獲得超10個贊
您所指的Role是一個任意結構,用于建立可用于設置權限的可能用戶角色的示例層次結構。
如果您查看 Agora Token Builder(Golang 示例),在第 42 行它使用角色分配一組權限。
if (role == RoleAttendee) || (role == RolePublisher) || (role == RoleAdmin) {
token.AddPrivilege(accesstoken.KPublishVideoStream, privilegeExpiredTs)
token.AddPrivilege(accesstoken.KPublishAudioStream, privilegeExpiredTs)
token.AddPrivilege(accesstoken.KPublishDataStream, privilegeExpiredTs)
}
在代碼中,每個角色都獲得相同的權限(這在生產環境中通常沒用),因此您需要更新代碼以擁有您想要的任何用戶角色,以便為該令牌設置適當的權限。
這里設置的權限是為了讓 Agora 后端知道用戶可以在頻道中執行哪些操作,范圍從基本joinCahnnel到.publishStreampublishVideoCdn
可用特權:
type Privileges uint16
const (
KJoinChannel = 1
KPublishAudioStream = 2
KPublishVideoStream = 3
KPublishDataStream = 4
KPublishAudiocdn = 5
KPublishVideoCdn = 6
KRequestPublishAudioStream = 7
KRequestPublishVideoStream = 8
KRequestPublishDataStream = 9
KInvitePublishAudioStream = 10
KInvitePublishVideoStream = 11
KInvitePublishDataStream = 12
KAdministrateChannel = 101
KLoginRtm = 1000
)
注意:默認情況下不強制執行令牌特權,因此您必須提交 Jira 票證 ( https://agora-ticket.agora.io ) 以請求在您的帳戶上啟用它。
- 1 回答
- 0 關注
- 325 瀏覽
添加回答
舉報