You need to enable JavaScript to run this app.
导航

Token 使用常见问题

最近更新时间2024.04.22 17:52:24

首次发布时间2023.10.11 18:32:29

Token 是什么?

Token 是用户进房必须传入的参数,用于 RTC 服务端鉴权。

Token 在什么情况下需要使用?

每个用户在进房时都需要携带 Token 进行鉴权。

测试阶段是否必须使用 Token?如何获取?

测试阶段需要使用 Token。你可以在火山引擎控制台生成临时 Token,也可以参考火山引擎提供的 Token 生成示例代码在本地生成测试 Token。详情参看使用 Token 完成鉴权

注意:在正式上线前,你需要把生成 Token 的逻辑集成到业务服务端,通过服务端下发 Token 给用户用于进房。

调用 joinRoomonRoomStateChanged 回调收到 -1000 错误码?

只有当 onRoomStateChanged 返回 state=0 时才代表进房成功,其他都是进房失败。-1000 错误码代表 Token 错误。此时你需要检查:

  • createRTCVideo 传入的 appId 和 joinRoom 传入的 roomiduserid 与生成 Token 使用的 appIdroomiduserid 是否一致。

  • 检查生成 Token 传入的 expire_time 是否过期。
    expire_time 的值是时间戳而不是过期时间长度。如下图代表当前时间 1 小时后过期,你需要写入当前时间加 1 小时的时间戳,而不是写 3600
    alt

  • 检查 addPrivilege 中设置的过期时间是否过期。
    一般场景不需要对推拉流权限的过期时间单独控制。建议与 expireTime 过期时间保持一致。

Token 的最长有效期是多久?

如果生成 Token 时未设置有效期,则 Token 永久有效。

进房后一段时间 Token 过期会被踢出房间吗?

会。Token 过期前 30 s,客户端会收到 onTokenWillExpire 回调。此时需要客户端调用 updateToke 传入新的未过期 Token, 用户才能继续音视频互动,否则将被强制退出房间。

Token 过期被踢出房间,服务端会收到回调吗?

会。以可见用户为例,因 Token 过期被踢出房间后,服务端会收到 UserLeaveRoom 事件回调,reason 为 onUserTokenDidExpire