AWS拉姆达基本的身份验证,而不定制授权
我有设置基本身份验证写在Node.js的我AWS lambda函数的一个问题
问题:
AWS lambda函数是额外服务的代理。此功能仅转发整个请求,并为用户提供整体的响应。这就是为什么我需要强制Authentication
头的使用,我想有提示窗口传递凭据:
除了我的lambda函数的代理部分,我把重点放在与认证问题,我写了这个代码:
export const proxy = async (event) => {
const authorizationHeader = event.headers.Authorization;
if (typeof authorizationHeader === undefined) {
throw new Error("Unauthorized");
}
...
};
service:
name: proxy-auth-test
plugins:
- serverless-webpack
provider:
name: aws
runtime: nodejs8.10
memorySize: 128
timeout: 10
functions:
proxy-async:
handler: handler.proxy
events:
- http:
method: get
path: api/proxy
resources:
Resources:
GatewayResponse:
Type: 'AWS::ApiGateway::GatewayResponse'
Properties:
ResponseParameters:
gatewayresponse.header.WWW-Authenticate: "'Basic'"
ResponseType: UNAUTHORIZED
RestApiId:
Ref: 'ApiGatewayRestApi'
StatusCode: '401'
端点是否工作正常,但我不能得到提示符窗口传递的凭据。我设置了GatewayResponse
根据本/@Da_vidgf/http-basic-auth-with-api-gateway-and-serverless-5ae14ad0a270,但我不想提供额外的lambda函数是只对用户的授权负责。
就我而言,我不能授权执行最后拉姆达功能,因为这个功能只将请求转发(凭证太)前的用户,仅此而已。
有没有人曾经试图建立基本身份验证与提示窗口,而不与无服务器和AWS拉姆达的使用额外的授权?
回答如下:当返回从一个集成的WWW身份验证被重新映射到X-AMZN重新映射-WWW验证(1)的响应。浏览器将无法处理这个重映射头,使他们不显示提示。
这意味着,你有你的授权逻辑在HTTP请求级别移到LAMBDA授权者,并为您引用的媒体链接表示返回“擅自”回调。这是返回一个WWW-Authenticate头截至目前的唯一途径。
资料来源:
1:https://docs.aws.amazon/apigateway/latest/developerguide/api-gateway-known-issues.html
AWS拉姆达基本的身份验证,而不定制授权
我有设置基本身份验证写在Node.js的我AWS lambda函数的一个问题
问题:
AWS lambda函数是额外服务的代理。此功能仅转发整个请求,并为用户提供整体的响应。这就是为什么我需要强制Authentication
头的使用,我想有提示窗口传递凭据:
除了我的lambda函数的代理部分,我把重点放在与认证问题,我写了这个代码:
export const proxy = async (event) => {
const authorizationHeader = event.headers.Authorization;
if (typeof authorizationHeader === undefined) {
throw new Error("Unauthorized");
}
...
};
service:
name: proxy-auth-test
plugins:
- serverless-webpack
provider:
name: aws
runtime: nodejs8.10
memorySize: 128
timeout: 10
functions:
proxy-async:
handler: handler.proxy
events:
- http:
method: get
path: api/proxy
resources:
Resources:
GatewayResponse:
Type: 'AWS::ApiGateway::GatewayResponse'
Properties:
ResponseParameters:
gatewayresponse.header.WWW-Authenticate: "'Basic'"
ResponseType: UNAUTHORIZED
RestApiId:
Ref: 'ApiGatewayRestApi'
StatusCode: '401'
端点是否工作正常,但我不能得到提示符窗口传递的凭据。我设置了GatewayResponse
根据本/@Da_vidgf/http-basic-auth-with-api-gateway-and-serverless-5ae14ad0a270,但我不想提供额外的lambda函数是只对用户的授权负责。
就我而言,我不能授权执行最后拉姆达功能,因为这个功能只将请求转发(凭证太)前的用户,仅此而已。
有没有人曾经试图建立基本身份验证与提示窗口,而不与无服务器和AWS拉姆达的使用额外的授权?
回答如下:当返回从一个集成的WWW身份验证被重新映射到X-AMZN重新映射-WWW验证(1)的响应。浏览器将无法处理这个重映射头,使他们不显示提示。
这意味着,你有你的授权逻辑在HTTP请求级别移到LAMBDA授权者,并为您引用的媒体链接表示返回“擅自”回调。这是返回一个WWW-Authenticate头截至目前的唯一途径。
资料来源:
1:https://docs.aws.amazon/apigateway/latest/developerguide/api-gateway-known-issues.html