Кодирование | AWS и React
Подключение аутентификации Cognito от Amplify к вашему Redux Store
Расширенное руководство, в котором используются такие инструменты, как Amplify Hub и Redux Toolkit, для прослушивания событий аутентификации и немедленного обновления нашего магазина Redux.
Предварительные условия
Существует множество руководств по началу работы от React, AWS Amplify и Redux Toolkit. Вместо того, чтобы изобретать велосипед, это руководство ориентировано на разработчиков, уже знакомых с этими тремя концепциями: вам понадобится (1) приложение React, (2) подключите свое приложение к Amplify, (3) уже настройте аутентификацию и (4) включить Redux Toolkit. Те, кого нет в этом месте, могут воспользоваться документами, чтобы наверстать упущенное и вернуться, когда будете готовы!
Конфигурация магазина
Хорошо, у вас должен быть файл store.js
в вашем основном каталоге. В этом файле у вас будет магазин, который вы экспортируете. Давайте посмотрим, как добавить в этот файл Amplify Hub, который представляет собой систему событий, созданную Amplify.
Если вы добавите следующий фрагмент в свой проект и откроете свои журналы, вы должны увидеть объект со свойством Channel. Скорее всего, оно будет иметь значение auth
или core
. Amplify’s Hub содержит защищенные каналы с названиями core
, auth
, api
, analytics
, interactions
, pubsub
, storage
и datastore
.
Фрагмент магазина, основанный на упрощении настройки магазина с помощью configureStore
.
import { configureStore } from '@reduxjs/toolkit' import { Hub } from 'aws-amplify' const rootReducer = combineReducers() const store = configureStore({ reducer: rootReducer, }) Hub.listen(/.*/, (data) => { console.log('Listening for all messages: ', data) }) export default store
Прослушиватель аутентификации
Первый шаг показал нам, как прослушивать все события. В этой статье мы сосредоточимся на канале auth
. Для этого мы переключимся с предыдущего фрагмента на прослушивание всего с помощью /.*/
и изменим его на просто auth
. Каждый канал имеет свой набор events
…