使用错误参数中的字符串从 Lambda Authorizer 调用 Lambda 回调函数Unauthorized
会返回带有正文的 401 响应:
{ "message": "Unauthorized" }
尝试在响应中使用任何其他字符串会导致响应:
{ "message": null }
相反,如果您在回调的结果参数中返回拒绝策略文档,您将获得 403 响应,例如:
{ "message": "Unable to access resource with an explicit deny" }
环顾四周后,您似乎需要配置网关响应以从 Lambda 授权方返回自定义响应,我已经为 403 响应工作,但无法弄清楚如何为 401 执行此操作。
对于 403,我使用模板创建了网关响应:
{\"message\":\"$context.authorizer.stringKey\"}
然后在结果对象上我设置以下
ResultObject.context.stringKey = 'My custom response'
这有效,并在此处记录。
但是,对于 401,因为我没有返回策略文档,所以我不知道如何使用自定义响应。我创建了与 403 相同的网关响应,但如果我在错误参数中使用任何字符串(“未授权”除外)点击回调,我会收到空消息。我无法返回结果参数,因为这需要是包含策略文档的响应结构。
关于如何使用 401 返回自定义响应的任何想法?