Как использовать API AWS Amplify GraphQL, если у меня есть токен доступа зарегистрированного пользователя?

#amazon-web-services #graphql #aws-amplify #aws-appsync #aws-amplify-cli

Вопрос:

Я совершенно новичок в усилении библиотеки. Я зарегистрировал своего пользователя, используя пул пользователей Cognito. У меня есть необходимый токен доступа (токен jwt). Как я должен использовать API AWS Amplify для GraphQL, используя этот токен доступа?

 Amplify.API.query
Amplify.API.mutate
 

Читая документацию, мне кажется, что я должен войти в систему пользователя с помощью Amplify Auth только для использования этих API. Другими словами, как я могу сообщить Amplify, что у меня есть маркер доступа аутентифицированного пользователя, и разрешить мне использовать API GrapQL? Или аутентификация с помощью усиленной аутентификации-единственный способ?

Ответ №1:

Amplify справится с этим за вас прямо из коробки.

После аутентификации платформа позаботится об обработке JWT за вас. Если вы хотите увидеть достаточно простую реализацию аутентификации с помощью Cognito Amplify, я рекомендую вам эту кодовую базу:

https://www.amplifyauth.dev
https://github.com/dabit3/amplify-auth-demo

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

На стороне клиента вы просто вызовете API, используя библиотеку Amplify JS, и тот факт, что вы прошли проверку подлинности или не прошли проверку подлинности, будет обработан за вас.

Комментарии:

1. Эй, спасибо за ответ. На самом деле, у меня есть отдельная логика от аутентификации. Я аутентифицировал пользователя с помощью отдельной пользовательской логики (не через Усиление). У меня есть жетон jwt. Теперь, как мне сообщить amplify, что я аутентифицирован, и разрешить мне использовать его API для синхронизации приложений

2. Хорошо, если вы используете Cognito, вам просто нужно подключить пул пользователей к API AppSync. На стороне клиента вы должны сообщить платформе, как проходит аутентификация: docs.amplify.aws/lib/graphqlapi/authz/q/платформа/js