几天前,我问AWS lambda basic-authentication without custom authorizer。我得到的答案对我来说已经足够了,我实现了自定义授权器,它可以正常工作。
我现在有一个非常相似的问题,因为我们决定将API网关更改为Application Load Balancer,这将在适当的路径上触发lambda函数。
我也想为此端点准备基本身份验证(与以前完全一样)。
所以,同样的问题:
AWS lambda函数,它是附加服务的代理。此功能仅转发整个请求,并向用户提供整个响应。这就是为什么我需要强制使用Authentication
标头,并且希望有一个提示窗口来传递凭据:Authentication。
应从lambda函数发送的响应与API网关的响应有些不同:Using AWS Lambda with an Application Load Balancer - AWS Lambda
关于使用ALB的身份验证,我仅发现Authenticate Users Using an Application Load Balancer - Elastic Load Balancing。
我找不到与基本身份验证和提示窗口有关的任何内容。
有没有人尝试使用lambda函数的ALB设置基本身份验证?在哪里寻找信息?
答案 0 :(得分:0)
回答我自己的问题:
我在错误的地方开始寻找答案。我认为应该将它与ALB联系起来,但是最后,它并不像我一开始就想的那么难。它可以像简单的Basic Authentication一样工作。
因此,以最简单的方式从异步函数/处理程序返回该响应就足够了:
{
statusCode: 401,
statusDescription: "401 Unauthorized",
isBase64Encoded: false,
headers: { "content-type": "application/json", "WWW-Authenticate": "Basic" },
body: "",
};
当然,可以在此响应的body
中返回您想要的任何内容。