node.js - 使用 Application Load Balancer 的 AWS lambda 基本身份验证
问题描述
几天前,我询问了AWS lambda basic-authentication without custom authorizer。我得到了对我来说足够的答案,我实现了正常工作的自定义授权器。
我现在有一个非常相似的问题,因为我们决定将 API Gateway 更改为 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。
我找不到与基本身份验证和提示窗口相关的任何内容。
有没有人尝试过使用 ALB 为 lambda 函数设置基本身份验证?去哪里找资料?
解决方案
回答我自己的问题:
我开始在错误的地方寻找答案。我认为它应该与 ALB 连接,但最终,它并没有我一开始想的那么难。它可以作为一个简单的基本身份验证。
因此,以最简单的方式从异步函数/处理程序返回该响应就足够了:
{
statusCode: 401,
statusDescription: "401 Unauthorized",
isBase64Encoded: false,
headers: { "content-type": "application/json", "WWW-Authenticate": "Basic" },
body: "",
};
当然,有可能在body
此响应中返回您想要的任何内容。
推荐阅读
- docker - 如何在 CircleCI 中缓存 Docker 映像构建的 Yarn 依赖项?
- wordpress - 悬停时的 WP Bootstrap 菜单下拉菜单
- amazon-web-services - 在pyspark(2.2.0)中将CSV文件写入AWS时如何分配访问控制列表(ACL)?
- python - 如何为切片 numpy 数组提供语法糖?
- c++ - 检查框内是否有 3D 点
- c++ - 在没有管理员权限的情况下,在 C++ 中以编程方式将程序添加到启动
- python - 打印类的枚举列表
- react-native - 在 Header 中发送 JWT 令牌反应原生
- branch.io - 为什么 iOS DeepView 尝试查找 URI 时弹出警报
- perl - 如何为 conda 构建设置每个 perl 脚本的 perl 路径