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

通过aws-sam配置AWS API Gateway的Firebase授权部署报错如何解决

部署报错根因及解决

你在template.yaml的Parameters区块声明了FirebaseProjectId参数,但部署SAM栈时没有传入该参数的取值,触发了CloudFormation的参数校验错误。同时你当前的代码并未使用该定义好的参数,反而错误引用了不存在的逻辑IDaws-7e5db,也会导致后续部署报错。
修正步骤:

  1. 调整template.yaml中JWT配置的引用逻辑,将原本硬写的aws-7e5db替换为你声明的参数:
JwtConfiguration:
  audience:
    - !Ref FirebaseProjectId
  issuer: !Sub https://securetoken.google.com/${FirebaseProjectId}
  1. 部署时传入Firebase项目ID参数,可选两种方式:
  • 部署命令中增加参数覆盖:sam deploy --parameter-overrides FirebaseProjectId=你的实际Firebase项目ID
  • 直接在Parameters区块为参数增加默认值,避免每次部署传参:
Parameters:
  FirebaseProjectId: 
    Type: String
    Default: 你的实际Firebase项目ID
Firebase授权配置其他问题修正

你当前的授权器核心配置逻辑是正确的,身份源取Authorization请求头、audience和issuer的取值规则符合Firebase ID token的校验要求,修正上述参数引用问题后即可正常校验Token。除此之外还有两处错误需要修正:

  • Lambda代码中取邮箱的逻辑多嵌套了一层claims字段,event.requestContext.authorizer.jwt.claims本身就是完整的claims对象,无需再取.claims属性,调整为:
const email = jwt.email;
  • 调用接口时需要在Authorization头中传入Bearer 前缀加Firebase返回的ID token,否则会被授权器拦截返回401。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:36:04