在 Node.js 中使用 async/await 的 Lambda 授权方响应

jul*_*nap 6 amazon-web-services node.js aws-lambda

我正在尝试使用 node.js async/await 而不是回调在 aws 上创建 lambda 授权器,但没有关于如何创建返回到 API 网关的 HTTP 响应的信息。例如,如果我返回这个:

{
  statusCode: 401
}
Run Code Online (Sandbox Code Playgroud)

API 网关似乎不理解并向客户端返回错误 403:

{
    "statusCode": 403,
    "error": "Forbidden",
    "message": "No principalId set on the Response"
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做这里描述的事情:https : //docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html 但使用 async / await ?

提前致谢 !

编辑 :

返回错误 401 的方法是简单地抛出这样的错误: throw new Error("Unauthorized") 如果用户明确拒绝/允许,只需返回 JSON 策略。

jul*_*nap 6

要返回 401 错误,您只需抛出一条带有“Unauthorized”消息的错误,如下所示:

throw new Error("Unauthorized")
Run Code Online (Sandbox Code Playgroud)

如果用户明确拒绝/允许,只需返回 JSON 策略,就像处理回调一样。