zappa自定义授权器为cors的烧瓶

Ser*_*rge 8 python amazon-web-services zappa aws-lambda flask-cors

我正在使用flask-cors来获取aws python aws lambda API.我用zappa部署它,它按预期工作.然而,cors并不适用于受https://github.com/awslabs/aws-apigateway-lambda-authorizer-blueprints/blob/master/blueprints/python/api-gateway-authorizer-python.py启发的自定义授权程序

我使用try/except更改了授权者代码,并在异常时为OPTION方法生成策略,仍然Option方法返回401.

如果它让事情变得简单,我不介意解决方法.

谢谢

我尝试了一种建议的解决方案:即在API网关中为401响应设置标头,遗憾的是浏览器预检需要成功的状态代码.

das*_*mug 1

这个API网关问题(已被AWS人员证实)已经存在了几个月。

幸运的是,他们最近(2017 年 6 月)发布了一种使用Gateway Responses修复该问题的方法。


在 API Gateway 控制台中,转到您的 API,然后转到Gateway Responses

网关响应

查找未经授权 (401)并添加以下标头(当然,您可以使用您的域):

Access-Control-Allow-Headers: '*'
Access-Control-Allow-Origin: '*'
Run Code Online (Sandbox Code Playgroud)

见下图:

未经授权