PuppyIP 资源中心
开发工具与网络 5 分钟 发布于 2026-11-12

Cloudflare RealtimeKit 令牌有效期怎么设?刷新、撤销与立即阻止入会

Cloudflare RealtimeKit 现在支持为参与者入会令牌设置开始和到期时间,不再只能沿用默认的 100 天。2026 年 11 月 12 日公告还说明了单令牌撤销能力。接入课程、面试或临时会议时,先设置明确时间窗;需要收回访问时,分清刷新令牌、撤销单个令牌和删除参与者的不同效果。

Cloudflare RealtimeKit 参与者令牌 API

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • Add Participant 请求可在 token 对象中传 not_before 和 expires_on;均为可选字段,不传时仍默认从签发起有效 100 天。
  • 时间须用带时区的 RFC 3339 格式,最长有效窗口为 100 天;expires_on 必须位于未来。响应中的时间统一为 UTC。
  • 刷新可在到期前或到期后执行,并沿用参与者记录;它不会让先前签发的令牌失效。
  • 单令牌撤销最多需 60 秒传播,其他令牌仍有效;删除参与者可立即阻止该参与者的全部令牌,二者也会移除正在会中的参与者。
  • 过期、尚未生效或已撤销令牌会在进入会议阶段前被拒绝;官方免计费说明针对这些被拒绝的入会,不代表所有会议用量免费。

先确认:这是参与者入会令牌

后端通过 Add Participant API 把用户加入某个 meeting(会议)时,会取得参与者 ID 和认证令牌。前端在用户选择入会后,把该令牌交给 RealtimeKit SDK。令牌的 meetingId 和 participantId 将它限定到一个会议中的一个参与者。

本文讨论这类参与者 JWT(JSON Web Token),不是管理 Cloudflare 账号所用的 API 凭据。只要令牌仍有效,同一个参与者就能在该会议的不同时段加入多个实时会话;一次离会不等于令牌已经失效。

开始和到期字段放在哪里?

新增参与者时,把 not_before 和 expires_on 放在请求的 token 对象中;刷新参与者令牌时,则把它们放在刷新请求体中。两项都可省略:not_before 默认当前时间,expires_on 默认 not_before 之后 100 天。

not_before 可以设在过去,expires_on 必须在未来,整个有效窗口不能超过 100 天。只填写一个字段时,也要结合另一个字段的默认值检查最终窗口,不能把“字段可选”理解为任意组合都有效。

时间戳须遵循带时区偏移的 RFC 3339 格式,例如 2026-12-01T15:00:00Z,其中 Z 表示 UTC。官方响应会把签发令牌的开始和到期时间转为 UTC 返回;不要直接把没有时区的本地钟面时间当成请求值。

按活动时间设置,并检查边界

假设一场面试允许在 2026 年 12 月 1 日 15:00–17:00 UTC 入会,可以在新增参与者的 token 对象中设置 not_before 为 2026-12-01T15:00:00Z、expires_on 为 2026-12-01T17:00:00Z。这是虚构配置示例,实际调用时到期时间仍须处于未来。

建议用获授权的测试参与者检查开始前、窗口内和到期后的入会结果,并对照响应中的 UTC 时间。这个检查建议不是本文执行过的真实会议测试。公告及所核文档没有说明单纯到期是否会自动踢出已经连接的会话,因此不能只靠到期设置承诺会议到点强制结束。

刷新令牌不会废弃旧令牌

后端可在令牌到期之前或之后调用 Refresh Participant Token。新令牌继续使用已有参与者记录,包括 participant ID 和 preset(角色与权限预设),无需把刷新当成新增参与者。

刷新不会使以前签发的令牌失效,每个令牌仍按自身到期时间有效。若目的是收回已分享或不再需要的访问权限,仅刷新并发出新令牌并不够,还应明确选择撤销目标令牌或删除参与者。

撤销一个令牌,还是立即阻止所有令牌?

撤销单个令牌时,其他已发给同一参与者的令牌仍有效。被撤销的令牌最多需要 60 秒才会在所有位置被拒绝;传播期间,参与者仍可能用它重新入会。不能把撤销响应当成全部位置已立即阻止的证明。

需要立即阻止该参与者所有令牌的访问时,官方文档给出的方式是 Delete Participant。撤销令牌和删除参与者也都会将该参与者从当前活跃会议会话中移除。注意处理范围:删除参与者影响其全部令牌,不能当成仅结束某一个旧令牌的等价动作。

这项单令牌撤销能力无需把整个会议设为 INACTIVE。选择动作前先核对会议、参与者及所需范围,避免为处理一个人的访问而停止整场会议。

入会失败看 reason,费用结论限定在被拒绝的入会

过期、尚未生效或已撤销的令牌无法入会;UI 和 Core SDK 会把令牌报告为无效。API 错误中的 reason 可为 participant_token_expired、participant_token_not_yet_valid、participant_token_revoked 或 participant_token_invalid。先按实际 reason 排查时间窗与撤销状态,不要把全部失败归为网络出口问题。

RealtimeKit 会在参与者进入会议阶段前拒绝这些无效令牌,因此不对这些被拒绝的入会计费。这不代表成功入会、其他用量或整个服务免费。所核公告和参与者文档没有给出新增套餐、国家资格或数值价格,实施前按实际账号和当前计费条款核对。

资料来源

常见问题

custom_participant_id 能控制谁可以入会吗?

不能。它用于把你的系统用户与 RealtimeKit 参与者、会话或分析记录关联,不承担访问控制。官方建议使用稳定的内部 ID 或 UUID,不要填写邮箱、电话号码等个人信息。入会仍须依赖有效参与者令牌及相关权限。

令牌还没到期,为什么 SDK 仍提示无效?

除到期外,还应检查是否尚未达到 not_before、令牌是否已撤销、参与者是否已删除,以及实际 reason。刷新得到一个新令牌也不能证明客户端已换用它;应核对应用实际传入的令牌来源,同时避免把真实令牌写入公开日志或工单。