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

AWS lambda:将数据从自定义授权程序传递到业务lambda

阎鹏
2023-03-14

共有1个答案

曾歌者
2023-03-14

授权者的策略文档可以通过一个上下文来丰富,您可以在该上下文中放置您的自定义数据。该数据将通过事件提供给business lambda。

下面是一个策略文档的示例:

const policy = {
    context: {
        customKey: 'payload data',
      },
    policyDocument: {
        Statement: [{
            Action: 'execute-api:Invoke',
            Effect: effect,
            Resource: resource,
        }],
        Version: '2012-10-17',
    },
    principalId: sub,
};

上下文包含一个“CustomKey”,其中有效载荷数据为字符串。

API的映射模板应该如下所示:

{
  "customKey": "$context.authorizer.customKey"
}
exports.handler = async (event, context) => {

console.log(event.customKey);

.
.
.
};
 类似资料:
  • 我正在使用AWS API网关的自定义授权器来验证应用程序的令牌, 我能够正确地使用自定义授权器, 即。能够验证令牌并返回IAM策略, 该策略决定是否允许将请求转发到业务逻辑Lambda函数。 到目前为止,我发现有两种方法可以实现这一点- 1。将数据作为要返回的策略中的主体Id。 2。在策略的Context对象中设置数据,该对象可以根据代码作为检索 我正在尝试第二种方法,但无法检索在上下文中设置的数

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

  • 我目前正在构建一个web应用程序,其后端完全构建在API Gateway/lambda中。我构建了一个自定义的JSON Web令牌(JWT)授权器来授权用户。目前我正在头字段中传递令牌。 不幸的是,我只能定义一个头字段,将令牌发送到API网关。我的应用程序将令牌存储在一个cookie中。 有什么办法吗?谢谢!

  • 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