我们在API网关中配置了Auth0的自定义授权程序。我们希望它根据调用的阶段加载不同的配置值。有没有一种已知的方法可以解决这个问题?
答案 0 :(得分:2)
您有两个选择:
如果您想对两个阶段使用相同的授权者功能,您可以解析包含阶段的input passed to the function:
{
"type":"TOKEN",
"authorizationToken":"<caller-supplied-token>",
"methodArn":"arn:aws:execute-api:<regionId>:<accountId>:<apiId>/<stage>/<method>/<resourcePath>"
}
如果要在每个阶段使用不同的功能,可以使用阶段变量。 注意:您必须使用CLI或SDK添加具有阶段变量的授权程序。 CLI的一个示例:
aws apigateway update-authorizer --rest-api-id <apidId> --authorizer-id <authorizerId> --patch-operations '[{"op":"replace","path":"/authorizerUri","value":"arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<accountId>:function:${stageVaribles.authorizer}/invocations"}]'