1

Я новичок в API Gateway, и я пытаюсь написать REST API, который предоставляет конечные точки для вызова пользователей. Из того, что я работал с другими API-интерфейсами, я знаю, что обычно вы получаете идентификатор и секрет, которые затем можно использовать для программного доступа к API.Учетные данные пользователя (id и secret) с шлюзом API

Я немного изучил, но до сих пор я нашел способы генерации токенов доступа в течение ограниченного времени (до 1 часа), но я бы хотел, чтобы пользователи сохраняли свой идентификатор и секрет постоянно.

Любая помощь или указание на дальнейшее чтение были бы очень признательны!

+1

Я бы предупредил, что токены доступа, не имеющие срока действия, не являются наилучшей практикой безопасности. Большинство API-интерфейсов соответствуют шаблону стиля OAuth, где метод аутентификации возвращает аутентифицированный токен, который пользователь может затем использовать для доступа к другим ресурсам в течение ограниченного периода времени, после чего требуется повторная аутентификация. Это гарантирует, что скомпрометированный токен авторизации предоставит вору только ограниченный период использования. –

ответ

0

Вы можете реализовать Amazon API Gateway Custom Authorizers, который позволит вам реализовать аутентификацию любым способом, который вы хотели бы видеть, что он работает в функции лямбда, которая вызывается из шлюза api.

0

Вы можете использовать Cognito User Pools with API Gateway, что позволит вам легко управлять пользователями, имеющими доступ к вашему API.

Пошаговое руководство:

  1. Зарегистрируйтесь пользователя первого времени для указанного пула пользователей.

  2. Войдите в систему для пользователя.

  3. Получить токен идентификации пользователя.

  4. Методы вызова API, настроенные с помощью авторизатора пула пользователей, поставляющего неистекший токен в заголовке авторизации или другом заголовке по вашему выбору.

  5. Когда токен истекает, повторите шаг 2-4. Идентификационные жетоны, предоставленные Amazon Cognito, истекают в течение часа.