проверка заголовка шлюза aws api на соответствие шаблону - PullRequest
0 голосов
/ 26 февраля 2019

Я создаю AWS API Gateway с использованием спецификации terraform и openAPI с swagger.Мне нужно добавить валидатор запроса для проверки заголовков на соответствие шаблону [a-zA-z0-9] {10}.Мне удалось настроить базовый валидатор, который проверяет, является ли заголовок пустым или нет, но не может проверить с помощью шаблона.

 "x-amazon-apigateway-request-validators" : {
    "full" : {
      "validateRequestBody" : true,
      "validateRequestParameters" : true,
       "validateRequestHeaders" : true
    },
    "body-only" : {
      "validateRequestBody" : true,
      "validateRequestParameters" : false
    }
  },
  "x-amazon-apigateway-request-validator" : "full",
  "paths": {
    "/validation": {
    "get": {
            "parameters": [
              {
                "in": "header",
                "name": "x-request-id",
                "required": true,
                "type": "string",
                "pattern" : "^[a-z0-9]{10}$"
              },
              {
                "in": "query",
                "name": "name",
                "required": true,
                "type": "string",
                "pattern": "^[a-zA-Z]{5}$"
              }
            ]
       }
}

Пожалуйста, предложите, если есть какой-либо способ достичь этого

1 Ответ

0 голосов
/ 27 февраля 2019

Я могу предложить обходной путь для вашего требования.Вы можете использовать «запрос на основе» Lambda авторизатор и реализовать логику проверки в функции Lambda.Если вам нужно проверить только один заголовок, вы также можете использовать Lambda-авторизатор на основе токенов и указать регулярное выражение проверки токенов.

Как только функция Lambda определяет, являются ли входящие заголовки действительными, она может предоставить доступ к API.

Вы можете проверить, как Настроить Lambda Authorizer, используя APIКонсоль шлюза .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...