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

Token 使用常见问题

最近更新时间2023.10.11 18:32:29

首次发布时间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 生成后最长有效期为 7 天。若 7 天内没有使用该 Token 进房,超过 7 天也会过期,如使用会导致进房失败。

用户在房间内的最长停留时间为 3 天。即使 Token 还未过期,若用户已在房间内时长达到 3 天,也会被踢出房间,踢出前客户端会收到 onTokenWillExpire 回调。

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

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

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

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