首页 > 解决方案 > 如何将 Lambda Authorizer 上下文参数传递给后端 API

问题描述

我们的应用程序中有以下架构。

在此处输入图像描述

我能够在 Lambda Authorizer 的帮助下验证 Firebase IdToken,并能够使用该令牌获取用户详细信息,例如(电子邮件/电话号码/个人资料图片)。我已经在上下文中添加了所有这些参数并返回,

Map<String, String> ctx = new HashMap<String, String>();
    ctx.put("userId", userId);
    ctx.put("email",user.getEmail());
    ctx.put("phoneNumber",user.getPhoneNumber());

我已经测试了 Lambda Authorizer (AWS UI),在响应中获取了这些参数。

如何将这些详细信息从 Lambda Authorizer 传递到 API Gateway 到后端 API(在 API Gateway 下)?

标签: aws-lambdaaws-api-gatewaylambda-authorizer

解决方案


我们使用 Swagger 来定义和创建我们的 API。执行此操作时,我们使用x-amazon-apigateway-integration.requestParameters 对象将上下文参数从授权方发送到(后端)集成端点(作为查询参数)。如果您在控制台中设置 API,您可以在每个资源的集成请求页面的 URL 查询字符串参数部分中执行相同的操作。

让我知道是否可以对此答案进行任何澄清。


推荐阅读