说,我可以访问自定义授权器中的某个值,如何将其传递给api端点 我到目前为止所读到的是,我们可以使用策略生成器中的上下文来做到这一点。像这样的东西 -
authResponse.context = {
"key": "this is the data sent from custom authorizer",
"numKey": 1,
"mysql":"sdf"
};
但此代码位于策略生成器中,而不是自定义授权程序中。 那么,如何访问我在自定义授权器中获得的值并将其传递给策略生成器呢? 我的主要目标是将该值发送到api端点。
答案 0 :(得分:1)
您需要将信息添加到authResponse.context
,这是正确的。完成此操作后,您可以通过API网关方法的“集成请求”界面将其配置为URL查询字符串参数或请求标头等。
现在,您的授权人生成的值可用于API网关的上游端点。
以下文件建议(但未完全阐明)此解决方案:
“Amazon API Gateway API Request and Response Data Mapping Reference”
将方法请求数据映射到集成请求参数
集成请求参数,以路径变量的形式,查询 可以从任何已定义的方法请求映射字符串或标头 参数和有效载荷。
"API Gateway Mapping Template Reference"
$ context.authorizer.property
上下文的指定键值对的字符串化值 从API网关自定义授权程序Lambda函数返回的映射。 例如,如果授权者返回以下上下文映射:
“context”:{“key”:“value”,“numKey”:1,“boolKey”:true} 调用$ context.authorizer.key返回“value”字符串,调用 $ context.authorizer.numKey返回“1”字符串,并调用 $ context.authorizer.boolKey返回“true”字符串。