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

AWS API Gateway搭配JWT授权后请求返回400 Bad Request错误咨询

问题排查及解决方案

  • 首先核对API Gateway授权器的令牌来源配置
    你当前请求的授权头命名为authorizationToken,需要确认你在AWS控制台配置JWT授权器时,「身份来源」设置的头名称完全和你传的一致,常见默认配置为Authorization,如果两边名称不匹配,授权器无法正常读取令牌就会返回400错误。
  • 移除GET请求中多余的Content-Type头
    GET请求不存在请求体,你当前携带的'Content-Type': 'application/json'属于多余配置,部分API Gateway规则会对不符合请求方法的请求头做校验,直接移除该头即可:
return await fetch(GET_CUSTOMERS_URI, {
  method: 'GET',
  mode: 'cors', 
  cache: 'no-cache', 
  credentials: 'same-origin', 
  headers: {
      'authorizationToken': 'Bearer ' + token
  },
  redirect: 'follow',
  referrerPolicy: 'no-referrer',
})
  • 检查CORS及预检请求配置
    你当前使用跨域模式请求,浏览器会先发送OPTIONS预检请求:
    1. 确认API Gateway的OPTIONS方法没有绑定JWT授权器(预检请求不会携带授权头,绑定授权器会直接被拦截)
    2. 确认API Gateway的CORS配置中,已经把authorizationToken添加到允许的请求头列表中,否则浏览器会拒绝发送带自定义授权头的实际请求
  • 验证令牌有效性与请求路径匹配规则
    1. 从浏览器开发者工具的网络面板中,复制实际请求携带的完整authorizationToken头值,放到AWS控制台授权器的测试界面中验证,确认是否能正常返回允许策略,排除令牌拼接错误、过期、格式错误问题
    2. 如果你的请求路径带有查询参数,需要将授权策略中的Resource字段修改为带通配符的格式,避免路径匹配失败:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "execute-api:Invoke",
      "Effect": "Allow",
      "Resource": "arn:aws:execute-api:us-west-2:<account id>:<api id>/<stage-name>/GET/customers*"
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 15:12:02