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

AWS API Gateway使用Access Token时出现401授权错误求助

排查AWS Cognito Access Token调用API 401未授权问题

1. 验证Access Token的受众(Audience)匹配性

  • Cognito Access Token的aud字段必须与API网关授权器配置的**受众(Audience)**完全一致:如果授权器中填写了Cognito用户池的Client ID,Access Token的aud必须等于该Client ID;若授权器未指定受众,aud需为用户池ID或Client ID(取决于Cognito设置)。
  • 可通过本地JWT解码工具拆分Access Token,检查aud值并与授权器配置对比。

2. 确认授权器的令牌类型配置

  • 检查API网关授权器的“令牌验证”设置:若授权器仅配置为接受ID Token,使用Access Token必然无法通过验证。需确保授权器设置为支持Access Token,且正确填写用户池的OAuth2.0 issuer端点。

3. 核对Access Token的范围(Scopes)与API要求

  • 若API资源配置了特定授权范围(如自定义的myapi/read),Access Token的scope字段必须包含该范围。
  • 获取Access Token时,需在请求的scope参数中指定对应范围(如openid或自定义范围);若API未设置范围,授权器的“默认范围”需留空,且Access Token需包含基础范围。

4. 检查令牌的有效性与签名

  • 查看Access Token的exp字段,确认令牌未过期,过期则重新获取新令牌测试。
  • 确认令牌由Cognito用户池的公钥签名,且API网关能正常访问用户池的/.well-known/jwks.json端点获取公钥(若API网关部署在VPC内,需确保网络连通性)。

5. 确认Postman请求的授权头格式

  • 需将Access Token放在Authorization请求头中,格式为Bearer <你的Access Token>,注意Bearer后需加空格,大小写需正确。
  • 排查是否存在其他自定义请求头干扰,确保仅保留必要的请求头内容。

6. 验证API网关的部署状态

  • 修改授权器或API资源配置后,必须重新部署API至对应的测试阶段(如prod、dev),否则修改不会生效。再次确认部署的阶段与测试使用的阶段一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:10:27