AWS 自定义 Lamba 授权方第二次针对来自具有空事件对象的客户端的单个请求调用两次



我已经配置了一个请求类型的自定义lambda授权方。我在 API 中添加了 4 个新的自定义请求标头作为身份源 --> 授权方 --> 身份源和 1 个默认授权。所以总共有 5 个。

当我调用配置了上述授权方的 API 时,授权方被调用了两次。第一次使用事件对象中所有参数的值,第二次使用空事件对象。

由于事件对象为 null,因此即使首次成功验证声明并返回 Allow 策略,我的代码也会抛出 null 指针。

最初我尝试使用令牌类型授权方,但仅凭令牌本身不足以让我验证。令牌类型工作正常。即没有提出第二个请求。当我移动到请求类型时,我开始看到这个问题。

以下是来自云观察的日志

2019-03-28 05:53:33 b78955e6-c072-4ada-945f-c8d34490d2ad DEBUG APIGatewayLambdaAuthorizer:92 - Sucess: Request authorized
2019-03-28 05:53:33 b78955e6-c072-4ada-945f-c8d34490d2ad TRACE APIGatewayLambdaAuthorizer:103 - Exit: Policy generated: {policyDocument={Version=2012-10-17, Statement=[{Action=execute-api:Invoke, Resource=arn:aws:execute-api:us-east-2:851424344156:67w9c9wojb/stage/GET/, Effect=Allow}]}, principalId=yC98Q4Edda9QqwYVkkhe75sUR8SS25pK@clients}
2019-03-28 05:53:33 090465d8-2c04-4869-83fb-cdcde53d33b7 TRACE APIGatewayLambdaAuthorizer:82 - Enter event:
{}
, context: lambdainternal.api.LambdaContext@4c5474f5
java.lang.NullPointerException: java.lang.NullPointerException
java.lang.NullPointerException

我真的不知道是什么问题。因此,重新创建了一个请求类型的新lambda授权方,并且它:(工作正常

最新更新