You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cognito中撤销refresh token与作废token的区别及接口使用疑问

AWS Cognito Token 常见疑问解答

1. token 作废(invalidating)与撤销(revoking)的核心差异

两者的核心区别是生效范围和校验逻辑:

  • 作废(就是AdminUserGlobalSignOut执行的操作):仅限制refresh token的换发能力,被作废的refresh token不能再用来申请新的access/id token,但已经签发、还在有效期内的access/id token不受影响,Cognito不会校验这些短时效token的作废状态,它们依然可以正常访问授权的资源接口。
  • 撤销(就是专门的token撤销接口执行的操作):会把目标refresh token,以及这个refresh token签发的所有未过期access token统一加入Cognito全局黑名单,后续不管是用refresh token换发新token,还是用已有的access/id token请求资源,都会被Cognito直接拒绝,哪怕这些token还没到自然过期时间。

2. 撤销token接口的适用场景

只有当你有即时回收所有访问权限的需求时,才需要调用撤销接口,典型场景包括:

  • 检测到用户账号存在安全风险(比如被盗、异常登录),需要立刻终止该用户所有设备的访问权限
  • 用户的权限发生了敏感变更(比如移除管理员权限、禁用账号),需要避免旧的高权限token还能继续使用
  • 合规要求用户退出后所有访问凭证必须立刻失效,不能接受最长1小时的access token自然过期窗口期
    如果没有即时回收需求,比如用户正常主动退出、业务允许短时间内旧token还能使用,直接调用AdminUserGlobalSignOut就足够了。

3. 调用AdminUserGlobalSignOut是否需要额外主动撤销refresh token

是的,如果你的业务需要实现和Amplify登出接口一致的全token即时失效效果,调用AdminUserGlobalSignOut之后需要额外主动调用token撤销接口。
要明确两个逻辑的差异:

  • AdminUserGlobalSignOut仅作废了refresh token的换发能力,没有触发撤销流程,已有的access/id token在有效期内依然可用
  • Amplify的登出逻辑默认封装了「撤销refresh token + 清空本地token存储」的完整流程,所以会同步让关联的access token立刻失效,原生AWS SDK的AdminUserGlobalSignOut没有包含撤销步骤,需要你自己补充实现。

内容的提问来源于stack exchange,提问作者systemdebt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:15:05