当前位置: 首页 > 知识库问答 >
问题:

带代理设置的AWS API网关自定义授权程序-添加自定义报头以请求

东云
2023-03-14

我所拥有的:

    null
    null

共有1个答案

常俊侠
2023-03-14

当AWS被配置为代理时,AWS会将其传递给Lambda:

{
    "resource": "/{proxy+}",
    "path": "/echo",
    "httpMethod": "POST",
    "headers": {
        "Accept-Type": "application/json",
        "Authorization": "Bearer xxx",
        "CloudFront-Forwarded-Proto": "https",
        "CloudFront-Is-Desktop-Viewer": "true",
        "CloudFront-Is-Mobile-Viewer": "false",
        "CloudFront-Is-SmartTV-Viewer": "false",
        "CloudFront-Is-Tablet-Viewer": "false",
        "CloudFront-Viewer-Country": "IN",
        "Content-Type": "application/json",
        "Host": "yyy.execute-api.us-east-1.amazonaws.com",
        "User-Agent": "Fiddler",
        "Via": "1.1 aaa.cloudfront.net (CloudFront)",
        "X-Amz-Cf-Id": "uuu",
        "X-Amzn-Trace-Id": "Root=1-58e5w17a-58ff31a846954e0f2aa7cd2c",
        "X-Forwarded-For": "115.112.36.246, 54.182.242.113",
        "X-Forwarded-Port": "443",
        "X-Forwarded-Proto": "https"
    },
    "queryStringParameters": null,
    "pathParameters": {
        "proxy": "echo"
    },
    "stageVariables": null,
    "requestContext": {
        "accountId": "1234567890",
        "resourceId": "1t2w8a",
        "stage": "dev",
        "authorizer": {
            "customKey": "1",
            "eee": "1",
            "principalId": "2",
            "otherkey": "hello",
            "somekey": "1,2"
        },
        "requestId": "qqq",
        "identity": {
            "cognitoIdentityPoolId": null,
            "accountId": null,
            "cognitoIdentityId": null,
            "caller": null,
            "apiKey": null,
            "sourceIp": "aaa.bbb.qq.www",
            "accessKey": null,
            "cognitoAuthenticationType": null,
            "cognitoAuthenticationProvider": null,
            "userArn": null,
            "userAgent": "Fiddler",
            "user": null
        },
        "resourcePath": "/{proxy+}",
        "httpMethod": "POST",
        "apiId": "123"
    },
    "body": "{\"ola\": \"\"}",
    "isBase64Encoded": false
}

在上面的requestcontext部分中,我通过自定义授权程序传递的所有键都已经存在。

 类似资料:
  • 我是API网关的新手。我尝试使用“自定义授权程序”。我遵循了下面的文档,并使用了网站提供的示例代码。https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html “令牌类型的lambda授权者”是工作的。 但是... 我对“请求类型”感到困惑,不知道如何将quer

  • Mono Apr 10 09:42:35 UTC 2017:转换后的endpoint请求主体:{“Type”:“Token”,“AuthorizationToken”:“ABC123”,“MethodArn”:“arn:aws:execute-api:ap-southeast-1:007183653813:OHLQXU9P57/null/Get/”}Mono Apr 10 09:42:36 UTC

  • 但是看起来在我的lambda响应和API网关之间发生了一些奇怪的事情, 变量在内部的某个地方被压缩得更低, 而我仍然得到了相同的解析错误, 它会接受其他格式的响应吗?字符串也不起作用。 我还应该尝试什么?我的策略格式错误吗? 我从这些站点获得了两种不同的策略格式- 1。http://docs.aws.amazon.com/apigateway/latest/developerguide/use-c

  • 如何从API网关中的自定义授权器lambda函数获取日志记录?我不想为API启用日志记录。我需要从授权器lambda函数日志记录。我使用了一个python lambda函数,并且在代码中有打印。我想查看云观察日志中的指纹。但在云观察中看不到原木。我也没有错误。我缺少什么? Lambda有execution role role/service-role/mylambdarole。此角色具有写入clo

  • 我已经创建了一个Lambda函数,在我的一个APIendpoint的方法请求上,我将其配置为“自定义身份验证”。当我使用AWS API网关的“test”函数时,我在日志输出中没有看到Lambda函数的任何输出。 我已经部署了API。 然而,有些事情正在发生,因为当我使用配置的自定义域名命中apiendpoint时,我得到了 但是,如果我从该endpoint删除“自定义身份验证”并点击同一endpo