客户端登录 SMeeting 需要一个授权 Token。这个 Token 只能由你的业务后端签发,不能在客户端生成。本页说明整条链路。
AppID 与 AppKey
申请应用后你会拿到一对凭据,职责完全不同:
AppKey 泄露等于应用被接管。 拿到它的人可以把任意用户授权进任意会议、踢人、结束会议。它不能出现在:客户端代码、前端配置文件、移动 App 包体、Git 仓库、日志。只能存在于你自己的服务端。
授权流程
关键点在第 2 步:SMeeting 不管你的用户体系。谁是合法用户由你的后端判断,SMeeting 只认签发出来的 Token 以及里面的 user_id。
user_id 直接用你业务系统的用户 ID 即可 —— 同一个用户多端同时进会由 SMeeting 自动区分,不需要你拼唯一值。
接口详情见 服务端 API · 会议授权,签名算法见 服务端 API 概览。
登录之后
拿到 Token 只是第一步,各端 SDK 的流程都是:
登录建立的是用户会话,不是会议连接。登录成功后才能调用会议管理接口;进入会议才能调用会中接口。
需要让某个用户立即失效(例如你的系统里把他禁用了),调用服务端的踢下线接口,他的会话会立刻作废,下次调接口需要重新授权。
密钥安全自查
上线前对照检查:
- AppKey 是否只存在于服务端环境变量或密钥管理服务中
- 前端构建产物里 grep 一遍 AppKey,确认没有被打进去
- 签发 Token 的后端接口是否做了自己的登录态校验 —— 否则任何人都能拿别人的
user_id 换 Token
- 日志里是否会打印 AppKey 或完整 Token
第三条最容易漏。签发接口如果不校验调用方身份,等于把”冒充任意用户进会”的能力开放给了公网。