AWS API Gateway Authorizer Google Войти - PullRequest
0 голосов
/ 06 января 2020

У меня есть API шлюза / лямбда-REST API, доступ к которому осуществляется из реагирующего веб-приложения. Мне нужно добавить аутентификацию, используя Google в качестве поставщика удостоверений. Приложение также должно поддерживать вход пользователя в систему.

Я понимаю, что когда пользователь впервые предоставляет доступ к (реагирующему) клиентскому приложению, оно должно отправить токен идентификатора моему бэкэнду, который затем должен проверить токен.

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

Мой вопрос заключается в том, как затем создать постоянный сеанс? Должен ли я что-то сохранять в своей базе данных о пользователе? Нужно ли проверять токен при каждом вызове API?

Должен ли авторизатор проверять, зарегистрирован ли пользователь или это новый пользователь?

1 Ответ

1 голос
/ 07 января 2020

Было бы проще использовать AWS Cognito для этого. Настройте пул пользователей в качестве авторизатора для вашего шлюза API, а затем настройте Google в качестве поставщика удостоверений для этого пула пользователей. Эта ссылка может быть полезна: https://docs.aws.amazon.com/cognito/latest/developerguide/google.html. Cognito даже имеет размещенный пользовательский интерфейс, если вы хотите использовать его для входа пользователей в систему.

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

Сессия пользователя будет содержать токен доступа. Токен доступа недолговечен, то есть вы можете использовать его только в течение часа. После этого вам нужно использовать отдельный токен refre sh для генерации нового токена доступа. А для большей безопасности срок действия самого токена refre sh истекает через несколько дней (и вам необходимо выполнить вход).

...