功能介绍
连麦鉴权,主要用于控制当前用户是否有发布流的权限,需要开发者通过自己的业务服务端生成 Token,anyRTC 服务器再对生成的 Token 校验实现。
开通流程
连麦鉴权功能默认不开启。需要联系 sales@dync.cc 或客服,并提供项目的 App ID,申请开启连麦鉴权服务。
请确保你提供的 App ID 对应的项目已开启权限密钥。
一旦你的项目开通了连麦鉴权服务,则用户在频道中发流,需要同时满足两个条件:
- 在
setClientRole
中设置的role
参数为BROADCASTER
。 - 在生成 Token 的代码中设置的
role
参数为Publisher
。
应用中实现逻辑
你可以参考如下步骤在业务层对连麦用户的发流权限进行校验:
- 加入频道前,客户端向业务服务器申请角色为
Subscriber
的 Token。业务服务器将生成的角色为Subscriber
的 Token 回传给客户端。 - 客户端在调用
joinChannel
方法时,传入以Subscriber
角色生成的 Token。 - 客户端由观众切换为主播前,向业务服务器申请角色为
Publisher
的 Token。业务服务器将生成的角色为Publisher
的 Token 回传给客户端。 - 客户端调用
renewToken
方法将新的 Token 同步给 anyRTC 服务器。 - 客户端调用
setClientRole
将用户角色切换为主播。
anyRTC 服务器会在调用 setClientRole
方法的同时鉴权认证,如果 Token 角色为 Publisher
,则客户端成功获得发布流的权限。
1. 如果客户端想要由主播切换回观众,可以重复上述步骤 3-5,先申请角色为 Audience
的 Token,然后调用 renewToken
,再调用 setClientRole
即可。
2. 如果 Token 超过服务有效期,则需要生成新的 Token,并调用 renewToken
将新的 Token 传给 SDK。新生成的 Token 同样有服务有效期。