Aws lambda 如何将Lambda Authorizer上下文参数传递到后端API';s

Aws lambda 如何将Lambda Authorizer上下文参数传递到后端API';s,aws-lambda,aws-api-gateway,lambda-authorizer,Aws Lambda,Aws Api Gateway,Lambda Authorizer,我们的应用程序中有以下体系结构 我能够在Lambda授权人的帮助下验证Firebase IdToken,并能够使用该令牌获取用户详细信息,如(电子邮件/电话号码/个人资料图片)。我在上下文中添加了所有这些参数,并返回 Map<String, String> ctx = new HashMap<String, String>(); ctx.put("userId", userId); ctx.put("email",

我们的应用程序中有以下体系结构

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

Map<String, String> ctx = new HashMap<String, String>();
    ctx.put("userId", userId);
    ctx.put("email",user.getEmail());
    ctx.put("phoneNumber",user.getPhoneNumber());
Map ctx=newhashmap();
ctx.put(“userId”,userId);
put(“email”,user.getEmail());
put(“phoneNumber”,user.getPhoneNumber());
我已经测试了Lambda Authorizer(AWS UI),在响应中获得了这些参数


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

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


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

实际上我正在使用下面的API映射模板“email”:“$context.authorizer.email”,但我不确定如何在我的后端API(API网关下基于Spring boot的API)中获得此值?我建议的方法将值作为查询参数传递,并且非常快速且易于使用(假设只需向后端请求添加一些查询参数即可)。除非您的API网关API和后端API具有不同的请求结构,否则我不会使用映射模板。