如何避免重新映射通过无服务器框架从 Lambda 传回 API 网关的标头?

tre*_*mby 5 amazon-web-services node.js aws-lambda serverless-framework

当我尝试使用挑战标头在无服务器Lambda 函数中进行响应时遇到了一个问题WWW-Authenticate

我在我的回复中设置

{
    statusCode: 401,
    headers: {
        'WWW-Authenticate': 'Basic realm="My realm"',
    },
    body: "",
}
Run Code Online (Sandbox Code Playgroud)

该函数运行成功,但在响应中我没有WWW-Authenticate标题;相反,我有一个x-amzn-Remapped-WWW-Authenticate标题。

我怎样才能让这个标头逐字通过?

我阅读了有关传递自定义响应标头的文档,但似乎这些需要在serverless.yml. 由于这些响应标头需要基于请求标头是动态的,我认为这对我没有帮助。

该函数是默认lambda-proxy类型。

Mat*_*t D 1

默认情况下,无服务器框架使用 Lambda 代理集成方法。这会为你完成很多繁重的工作,但也会妨碍你。

如果您想要更透明的体验,则需要使用 Lambda 集成,并自行处理响应。尽管您需要更多的实践,包括 CORS 响应标头。

integration: lambda

您可以在此处阅读有关这两种方法的更多信息:https://serverless.com/framework/docs/providers/aws/events/apigateway/#lambda-integration