Политика кэширования лямбда-авторизатора AWS APIGateway даже после установки значения ttl на ноль - PullRequest
0 голосов
/ 08 января 2019

Я использую лямбда-авторизатор APIGateway со следующим кодом генерации политики, но, похоже, даже после установки времени жизни на лямбда-авторизаторе равным нулю, политика по какой-то причине кэшируется.

  • Поведение кэширования является случайным.
  • Я установил время для обнуления, потому что я хочу, чтобы авторизатор вызывался для каждого запроса.

Это мой код:

var generatePolicy = function(principalId, effect, resource) {
    var authResponse = {};

    authResponse.principalId = principalId;
    if (effect && resource) {
        var policyDocument = {};
        policyDocument.Version = '2012-10-17'; 
        policyDocument.Statement = [];
        var statementOne = {};
        statementOne.Action = 'execute-api:Invoke'; 
        statementOne.Effect = effect;
        statementOne.Resource = resource.replace(/:function:.+$/, ':function:*');
        policyDocument.Statement[0] = statementOne;
        authResponse.policyDocument = policyDocument;
    }

    authResponse.context = {
        "stringKey": "stringval",
        "numberKey": 123,
        "booleanKey": true
        };
        return authResponse;
    }
}

1 Ответ

0 голосов
/ 08 января 2019
  • Попробуйте изменить statementOne.Resource = '*';, это будет работать.
  • Для правильной политики, API-шлюз кэширует возвращенную политику, связанную с параметрами входящего токена или запроса источника идентификации.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...