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

AWS API Gateway Cognito授权器无法识别有效Token求助

解决思路
  • 核对CDK中Cognito授权器的核心配置
    • 确认CognitoUserPoolAuthorizer是否正确关联目标用户池,以及identitySource是否设置为请求中携带Token的Header(默认是method.request.header.Authorization,要和你实际传Token的Header字段一致)。
    • 检查授权器是否指定了正确的Token类型:如果用id_token,需确保授权器未强制要求access_token的特定Scope;如果用access_token,要确认授权器配置中关联了对应的用户池资源服务器或客户端ID。
  • 验证Token本身的合法性
    • 用jwt.io解析Token,核对以下字段:
      • iss:必须与你的Cognito用户池域名完全一致(格式如https://cognito-idp.<区域>.amazonaws.com/<用户池ID>)
      • aud:若用id_token,需匹配你的Cognito用户池客户端ID;若用access_token,需匹配授权器配置中指定的受众(客户端ID或资源服务器标识符)
      • exp:确认Token未过期
  • 检查API Gateway的授权绑定
    • 确认API Gateway的部署阶段已关联该Cognito授权器,且每个需要授权的API方法都明确设置了authorizer属性(CDK中需在addMethod时指定authorizer参数)。
  • 排查IAM权限问题
    • 确认API Gateway的执行角色拥有cognito-idp:VerifyToken权限,CDK创建授权器时通常会自动生成该权限,但如果自定义了权限边界或策略,需检查是否存在限制。
  • 查看CloudWatch日志定位具体错误
    • 开启API Gateway的执行日志,查看授权阶段的详细错误信息(如签名不匹配、受众不匹配、Token无效等),这是定位问题最直接的方式。
  • 确认Token的获取与携带方式
    • 若使用access_token,需确保获取Token时请求了API Gateway授权器要求的Scope;携带Token时,必须严格遵循Bearer <Token>格式(注意Bearer后有空格)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:56:08