在线鉴权
概览
本文将介绍如何获取鉴权文件、以及在线鉴权的实现方案。
鉴权文件
鉴权文件是软件使用权的凭证,包含以下特征:
- 授权的时间
- 授权的平台
- 授权的 SDK 版本号
- 授权的功能特性
在线鉴权
在线鉴权,是指用户的客户端访问 ZegoEffects 服务端,申请鉴权文件,进行网络验证的方式。从客户的角度来看可以通过在线鉴权快速,安全的通过网络验证,相比离线鉴权更可控更高效。
在线鉴权只是获取鉴权文件 License,只有通过 SDK 鉴权校验的客户端,才可以使用 ZegoEffects SDK 和 AI 功能。
ZEGO 建议您在业务层上,定时拉取、更新在线鉴权的 License 数据,避免出现本地缓存 License 数据过期、导致校验不通过的问题。
鉴权实现原理
在线鉴权有两种方式,开发者可以通过自己的客户端,或自己的业务服务端访问 ZegoEffects 服务端,进行鉴权。
以下将介绍“向 ZegoEffects 服务端请求鉴权文件”的两种方式:通过客户端发送请求
和通过开发者服务端发送请求
,对比如下:
类别 | 通过客户端发送请求 | 通过开发者服务端发送请求 |
---|---|---|
实现步骤 |
|
|
流程图 | ![]() | ![]() |
优势 |
|
|
前提条件
开始实现鉴权之前,请在 ZEGO 控制台 创建项目,获取到了接入 ZegoEffects SDK 服务所需的 AppID 和 AppSign,详情请参考 控制台 - 项目管理 中的“项目信息”;并联系 ZEGO 技术支持,开通 ZegoEffects 相关套餐服务权限。
实现在线鉴权
1. 向 ZegoEffects 服务端请求鉴权文件
以下分别介绍向 ZegoEffects 服务端请求鉴权文件的两种方式(二选一即可)。
2. ZegoEffects 服务端返回鉴权文件 License
服务端返回的消息示例如下:
{
"Code": 0,
"Message": <message>,
"Data": {
"License": <license>
}
}
- 如果请求获取鉴权文件成功,则返回字段
License
中携带信息即为鉴权文件的内容。 - 若请求失败,则返回字段
Code
会返回错误码,Message
为对应的错误信息。
根据请求方式的不同,返回字段中的 Code
取值也不相同,具体解释如下:
参数名 | 类型 | 说明 | |
---|---|---|---|
Code | unsigned int32 | 通过客户端发送请求时,ZegoEffects 服务端返回的错误码,取值如下:
| 通过开发者服务端发送请求时,ZegoEffects 服务端返回的错误码,取值如下:
|
Message | string | 返回的提示信息,和 “Code” 的取值相对应。
| 返回的提示信息,和 “Code” 的取值相对应。
|
Data | object | “Code” 为 0 时,返回鉴权文件的内容。 |
其中,返回字段 Data :
参数名 | 类型 | 说明 |
---|---|---|
License | string | 鉴权文件的内容。 |
3. 传入鉴权文件创建对象
将获取的鉴权文件设置到 SDK 中,以激活相关功能模块。
开发者需要从返回字段 “Data” 的 “License” 字段中获取鉴权文件内容,然后调用 create 接口,并将鉴权文件传给 ZegoEffects SDK,创建 Effects 对象。
在调用 create 接口创建 Effects 对象之前,需要先调用 setResources 接口导入资源和模型。