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 关注
- 303 浏览
添加回答
举报