【发布时间】:2019-08-02 00:35:45
【问题描述】:
我正在尝试使用 node.js async/await 而不是回调在 aws 上创建 lambda 授权方,但没有关于如何创建返回到 API Gateway 的 HTTP 响应的信息。例如,如果我返回这个:
{
statusCode: 401
}
API 网关似乎不理解并向客户端返回错误 403:
{
"statusCode": 403,
"error": "Forbidden",
"message": "No principalId set on the Response"
}
有谁知道如何做这里描述的事情:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html 但是使用异步/等待?
提前致谢!
编辑:
返回错误 401 的方法就是抛出这样的错误:
throw new Error("Unauthorized")
如果用户明确拒绝/允许,则只需返回 JSON 策略。
【问题讨论】:
-
你能在这里放一些代码,以帮助你吗?
-
如果你自己想通了,你可以回答你自己的问题:)。
-
你有没有想过这个问题?使用回调会导致警告,但我宁愿在没有 cb 的情况下使用 async/await。
-
@Chance 解决方案在我帖子的“编辑”部分。您只需抛出一个带有“未经授权”的错误消息。我为自己的问题添加了一个答案,这样它会更加明显。
-
@julient-monisnap 谢谢 :)。很简单!
标签: node.js amazon-web-services aws-lambda