小编tef*_*fad的帖子

API 网关返回 403 - 禁止

我有一个 API 网关,其端点由 AWS Lambda 代理集成实现。我还为此端点配置了自定义授权方。我看到一个问题,我向该端点发出的第一个请求成功,但其他调用将失败;我收到一个 403 - 禁止的错误。如果我等待一段时间,我可以提出另一个成功的请求,但随后我开始看到同样的问题。

这是我的授权人代码:

const jwt = require('jsonwebtoken');

exports.authorizer = async function (event, context) {
  const bearerToken = event.authorizationToken.slice(7);
  const { payload } = jwt.decode(bearerToken);
  return {
    principalId: payload.sub,
    policyDocument: {
      Version: '2012-10-17',
      Statement: [{
        Action: 'execute-api:Invoke',
        Effect: 'Allow',
        Resource: event.methodArn,
      }],
    },
  };
};
Run Code Online (Sandbox Code Playgroud)

在此端点的 API 网关日志中,我可以看到授权方正在返回,Allow但我仍然可以看到授权失败:

(50ac5f87-e152-4933-a797-63d84a528f61) 客户端无权执行此操作。

有谁知道这会如何或为什么会发生?

javascript amazon-web-services node.js aws-lambda aws-api-gateway

9
推荐指数
1
解决办法
3754
查看次数