Как добавить аутентификацию по ключу и секрету API в API, разработанный с помощью AWS API Gateway? - PullRequest
0 голосов
/ 25 мая 2020

Я разработал хороший и работающий API PutItem, GetItem и UpdateItem для DynamoDB, используя AWS API Gateway. Теперь, поскольку любой может получить доступ к API, просто захватив его URL-адрес вызова - это проблема для меня, потому что мой DynamoDB содержит некоторые деликатные данные, такие как имя, электронная почта, адрес и т. Д. c.

Теперь большинство из используемых мною сторонних распространенных API-интерфейсов у них есть как ключ API, так и секрет API для аутентификации. Теперь я хочу сделать следующее:

  • Для API PutItem & UpdateItem я бы отправил API Key и API Secret в заголовках.
  • Для GetItem API, я бы прикрепил их в URL как - ?apikey=xxxx&secret=xxxx.

Возможно ли это сделать? Как я могу аутентифицировать свои API с помощью ключей и секретов?

Любая помощь приветствуется :) Спасибо!

1 Ответ

1 голос
/ 25 мая 2020

Во-первых, сохраняйте согласованность и в заголовках, а не в строках запроса.

Во-вторых, вы действительно можете сделать это с помощью Lambda Authorizer .

Добавив Lambda Authorizer, вы можете проверить ключи, отправленные в каком-то хранилище данных (например, в таблице DynamoDB).

Если они верны, вы можете вернуть политику, которая разрешает или запрещает указанные c ресурсы или методы.

Вы также можете кэшировать ответ на основе заголовков, чтобы любые повторные попытки в пределах TTL автоматически приводили к немедленному ответу политики разрешения / запрета.

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