开发者中心
All
Agora.io 社区
如何使用连麦鉴权功能?
分类: 集成类    平台: Android / iOS / macOS / Web / Windows / Unity / Cocos Creator / Electron / React Native / Flutter   最后更新时间: 2020/11/11 21:57:05

功能介绍

连麦鉴权,主要用于控制当前用户是否有发布流的权限,需要开发者通过自己的业务服务端部署并生成 Token、Agora 服务器再对生成的 Token 校验实现。

开通流程

连麦鉴权功能默认不开启。你可以联系 sales@agora.io,或提交工单,并提供项目的 App ID,申请开启连麦鉴权服务。请确保你提供的 App ID 对应的项目已开启 App 证书。

一旦你的项目开通了连麦鉴权服务,则用户在频道中发流,需要同时满足两个条件:

  • setClientRole 中设置的 role 参数为 BROADCASTER
  • 在生成 Token 的代码中设置的 role 参数为 Publisher

App 层实现逻辑

你可以参考如下步骤在业务层对连麦用户的发流权限进行校验:

  1. 加入频道前,客户端向业务服务器申请角色为 Subscriber 的 Token。业务服务器将生成的角色为 Subscriber 的 Token 回传给客户端。
  2. 客户端在调用 joinChannel 方法时,传入以 Subscriber 角色生成的 Token。
  3. 客户端由观众切换为主播前,向业务服务器申请角色为 Publisher 的 Token。业务服务器将生成的角色为 Publisher 的 Token 回传给客户端。
  4. 客户端调用 renewToken 方法将新的 Token 同步给 Agora 服务器。
  5. 客户端调用 setClientRole 将用户角色切换为主播。

Agora 服务器会在调用 setClientRole 方法的同时校验用户权限,如果 Token 角色为 Publisher,则客户端成功获得发布流的权限。

score