#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