如何在每个请求上调用lambda自定义授权器?



我有一个lambda函数,其授权器位于API网关内。

我注意到,当我调用lambda函数时,在第一个请求上按预期调用授权器,授权通过,假定IAM角色并授予对lambda函数的访问权。

但是,在后续请求中,不会调用授权器。

我认为这是由于授权缓存。

但是,在AWS控制台中,在API gateway > Authorizers中授权者具有以下配置:

Authorizer ID: iiii2l
Lambda Function
foo-authorizerV1-dev-authorizer (eu-west-1)
Lambda Invoke Role
arn:aws:iam::0000000:role/foo-authorizerV1-dev-AuthorizerRole-AAAAAAA
Lambda Event Payload
Request
Identity Sources
deviceID (header)
Authorization Caching
Authorization not cached 

我本以为将Authorization Caching设置为Authorization not cached将意味着对每个请求都将调用授权器。

我错过了什么吗?

如果缓存未启用,则API网关将在每个请求时调用授权器。

如果您在控制台中对API Gateway进行了更改,但尚未部署API,则可能看起来您有一种配置,但行为是另一种。我将检查当前配置是否已部署并重新测试。

最新更新