如何将Lambda Authorizer上下文参数传递到后端API的

问题描述

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

enter image description here

我能够借助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(AW​​S UI),并在响应中获取了这些参数。

如何将这些详细信息从Lambda授权器传递到API网关,再传递到后端API(在API网关下)?

解决方法

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

让我知道是否可以在此答案中添加任何说明。