比方说,我可以访问自定义授权程序中的某个值,如何将它传递给api端点--到目前为止,我所读到的是,我们可以使用策略生成器中的上下文来完成这个任务。就像这样-
authResponse.context = {
"key": "this is the data sent from custom authorizer",
"numKey": 1,
"mysql":"sdf"
};但此代码在策略生成器中,而不是在自定义授权程序中。那么,如何访问在自定义授权程序中获得的值并将其传递给策略生成器呢?我的主要目标是将该值发送到api端点。
发布于 2018-02-07 10:25:46
您需要将信息添加到authResponse.context中是正确的。这样做之后,可以通过API Gateway方法的"Integration“接口将其配置为URL查询字符串参数或请求头等。

现在您的授权程序中生成的值可用于API网关.的上游端点。
以下文件提出了这一解决办法(但没有详细说明):
将方法请求数据映射到集成请求参数 集成请求参数,以路径变量、查询字符串或标头的形式,可以从任何定义的方法请求参数和有效负载映射。
$context.authorizer.property 从API网关自定义授权程序Lambda函数返回的上下文映射的指定键值对的字符串值。例如,如果授权程序返回以下上下文映射: "context“:{ "key":"numKey":1,"boolKey":true }调用$context.authorizer.key返回"value”字符串,调用$context.authorizer.numKey返回"1“字符串,而调用$context.authorizer.boolKey则返回"true”字符串。
https://stackoverflow.com/questions/48641908
复制相似问题