最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

AWS拉姆达基本的身份验证,而不定制授权

IT培训 admin 2浏览 0评论

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

发布评论

评论列表 (0)

  1. 暂无评论