为保证通信安全,当用户登录 RTM 系统时,声网需要对其鉴权。声网提供如下鉴权方案,你可以根据自己的实际使用场景,选择合适的鉴权方式:
鉴权方案 | 场景 |
---|---|
使用 App ID 鉴权 | 低安全需求场景 |
使用 RTM Token 鉴权 | 高安全需求场景 |
同时使用 App ID 和 RTM Token 鉴权 | 安全性升级场景 |
开发者在声网控制台注册账号后,可以创建多个项目,每一个项目的唯一标识就是 App ID。如果有人非法窃取了你的 App ID,他就可以在自己的项目中使用你的 App ID。因此,只使用 App ID 鉴权,安全性较低,我们推荐只在测试环境,或对安全要求不高的场景里使用 App ID 鉴权。
进入控制台,按照屏幕提示注册账号并登录控制台。详见注册与登录。
点击左侧导航栏的 图标进入项目管理页面。
点击创建按钮。
在弹出的对话框内输入项目名称,选择 APP ID 为鉴权机制,并点击提交。
项目创建成功后,你会在项目列表中看到刚刚创建的项目。点击 查看并复制该项目对应的 App ID。
在初始化客户端时,声网会需要你填入 App ID。将你获取到的 App ID 直接填入即可。
如果你需要升级至 RTM Token 鉴权方案,点击编辑进入编辑项目页面即可启用 App 证书。
Token 是一种动态密钥,通过 App ID、App 证书、用户名和 Token 有效时间戳等参数生成,安全性较高。在正式生产环境等对安全要求较高的场景中,我们推荐使用 RTM Token 鉴权。
RTM Token 需要在你的服务端生成。参考如下步骤,在声网控制台获取 App ID、启用 App 证书,然后调用 API 生成 RTM Token。
1. 获取 App ID
参考上文步骤获取 App ID。
App 证书是声网控制台为开发项目生成的字符串。根据不同的安全需求,声网在项目中设置了两种 App 证书,区别如下:
如果你是第一次启用 App 证书,你需要先启用主要证书。
参考如下步骤启用主要证书:
我们在 GitHub 上提供了一个开源的声网 Dynamic Key 仓库。./<language>/src
文件夹下包含生成各种版本的 Dynamic key 和 RTM Token 的源码。你可以使用 RtmTokenBuilder
生成 RTM Token。./<language>/sample
文件夹下包含用于演示 RTM Token 生成的示例代码。RtmTokenBuilderSample
可以用来演示如何生成 RTM Token。
关于生成 RTM Token 的方法详见生成 RTM Token。
4. 更换和删除 App 证书
开启主要证书后,你还可以启用次要证书,次要证书可以用于生成正式 RTM Token。如果主要证书存在安全风险,你可以将次要证书转换为主要证书并删除原来的主要证书,从而规避风险。
参考如下步骤更换和删除 App 证书:
你可以参考如下步骤使用 RTM Token:
renewToken
方法更新 RTM Token,并使用新的 RTM Token 登录 RTM 系统。如果你仅使用 App ID 鉴权,你可以参考如下步骤,同时使用 App ID 和 RTM Token 鉴权,对 app 进行灰度升级:
成功启用主要 App 证书后,你可以使用主要证书生成 RTM Token。
同时使用 App ID 和 RTM Token 鉴权。例如,当现存用户都使用 App ID 鉴权时,你可以对新用户使用 RTM Token 鉴权,保障新老用户都可以登录 RTM 系统。再逐步将老用户的鉴权方案升级为使用 RTM Token 鉴权。
在全量用户切换至 RTM Token 鉴权后,声网建议你删除无证书。