我有一个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,则可能看起来您有一种配置,但行为是另一种。我将检查当前配置是否已部署并重新测试。