В этой статье мы создадим логин пользователя, используя Next.js с перехватчиками React. И мы защитим наше приложение с помощью функции аутентификации Firebase, которая позволяет только авторизованным пользователям получать доступ к частной странице.

Список моментов, на которых мы остановимся в этой статье:

  • Настройка Next.js
  • Компонент React
  • Реагировать на крючок
  • Аутентификация Firebase
  • Сторонняя аутентификация с Google

Примечание. Для этого в нашей системе должны быть установлены Node.js и npm

Настройка Next.js

При создании проекта Next.js нам необходимо установить модуль create-next-app, который обеспечивает начальную настройку и настройку по умолчанию. Установите create-next-app командой:

npm install -g create-next-app

После завершения установки запустите проект Next.js в вашем локальном каталоге, где нам нужно создать проект, с помощью команды:

npx create-next-app next-login-firebase

После завершения установки переходим в нашу созданную папку:

cd next-login-firebase

Теперь мы закончили настройку нашего проекта Next.js.

Следующим шагом будет установка пакета Firebase и react-firebaseui.

npm i firebase react-firebaseui --save

Конфигурация Firebase для аутентификации

Firebase помогает нам с безопасным входом в систему, предоставляя методы мульти-аутентификации, такие как адрес электронной почты / пароль, Google, Facebook, Twitter и т. Д.

Перейдите на https://firebase.google.com/ и войдите со своими учетными данными.

После успешного входа в консоль Firebase мы создадим наш проект, нажав кнопку «Добавить проект», заполните форму имени проекта и следуйте инструкциям мастера:

Чтобы интегрировать наш проект Firebase в наш проект Next.js, перейдите в настройки проекта и найдите «Установка и конфигурация SDK», выберите радио «Конфигурация». Нам нужно будет скопировать фрагмент, который нужно добавить в код нашего проекта.

После создания проекта нажмите «Аутентификация» в левой части. Мы включим аутентификацию провайдера с помощью электронной почты / пароля и Google:

Написать код

В корневой папке создайте новый файл config.js с приведенным ниже кодом и сохраните его.

Откройте файл pages / index.js и отредактируйте с помощью приведенного ниже кода.

Для следующего шага установите пакет «js-cookie» командой:

npm i js-cookie

Создайте новый файл auth / userCookie.js, напишите следующий код:

Затем мы должны создать auth / useUser.js для обработки состояния пользователя, напишите следующий код:

Создайте файл с именем «auth / withAuth.js» для обработки изменения статуса авторизации и перенаправления на подписывающие страницы:

Создайте новую частную страницу с именем «pages / private.js», эта страница будет отображать электронную почту и кнопку выхода, если пользователь входит в систему.

На последнем этапе создайте новый файл «pages / signin.js» для визуализации канала входа. Это пример использования «react-firebaseui».

Наш код:



Больше контента на plainenglish.io