Завершение потока аутентификации AWS - PullRequest
1 голос
/ 21 сентября 2019

TLDR Я ищу где-нибудь для отправки Cognito JWT из бэкэнда, чтобы проверить статус пользователя.


В настоящее время у меня есть приложение реагирования, с apollo api без сервера и базой данных DynamodB, все работаютлокально.

  • Реагирующий клиент использует aws-усиление для регистрации, входа и т. д. с помощью aws-cognito - возвращая токены доступа, идентификатора и обновления.

  • Пользователи могут также войти в систему с помощью facebook и google, ampify.Auth.federatedSignIn, которая возвращает учетные данные для идентификации Cognito.

  • Затем токены передаются на сервер, где они проверяются..

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

Насколько я понимаю, в производственном API Gateway или AppSync могут перехватывать токены между лицевым и внутренним интерфейсами, но так как я проверил токеныв бэкэнде в настоящее время есть метод конечной точки или SDK, который я могу использовать с токенами / ключами доступа и т. д., чтобы проверить статус пользователя?

Не стесняйтесь сообщить мне, если я поступаю неправильно.

1 Ответ

2 голосов
/ 21 сентября 2019

Если вам необходимо убедиться, что токен действителен и не имеет срока действия, при использовании JavaScript SDK используйте

const cognitoServiceProvider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
await cognitoServiceProvider.getUser({
        AccessToken: accessToken
    }).promise();

Это приведет к ошибке, если токен недействителен.

Если выиспользуете другой SDK, найдите эквивалентный вызов.

...