2

我有一個由API Gateway和Lambda支持的API,它使用一個自定義授權者。如何爲AWS API網關自定義授權人配置CORS?

對於成功的請求,它通過授權人,然後我的Lambda可以返回正確的響應與CORS標頭沒有問題。

但是,對於不成功的授權(例如,無效令牌),我沒有得到CORS標頭,導致我的客戶端應用程序(使用fetch API)拋出。

如何爲使用自定義授權者的API設置CORS?

回答

1

根據this answer和​​,我能夠弄清楚如何解決它。

的解決方案是增加在下面我serverless.yml

resources: 
    AuthorizerApiGatewayResponse: 
     Type: "AWS::ApiGateway::GatewayResponse" 
     Properties: 
     ResponseParameters: 
      "gatewayresponse.header.Access-Control-Allow-Origin": "'*'" 
     ResponseType: UNAUTHORIZED 
     RestApiId: {"Ref" : "ApiGatewayRestApi"} 
     StatusCode: "401"