И эти 5 шагов охватывают все способы аутентификации, которые вы хотите добавить в Google, Facebook, Twitter или электронную почту.

Под капотом

Создание потока аутентификации во Frontend может быть довольно сложным, поскольку оно немного задерживается. Обновление Frontend, как только пользователь вышел из системы или вошел в систему, не так реально во времени. Мы часто не понимаем, какой способ предпочесть и какой может быть идеальным подходом для создания потока аутентификации во Frontend.

Объявить защищенные маршруты или незащищенные маршруты

Первый шаг - решить, какие маршруты или страницы во Frontend будут доступны без аутентификации, а какие заблокированы или защищены. Если вы используете приложение Create React, вам необходимо объявить их соответствующим образом с помощью пакета response-router. Но если вы используете Next JS, это становится легкой прогулкой. Я не буду вдаваться в подробности о том, как выполнить в Gatsby или Create React App.

Хранение токенов аутентификации

После того, как пользователь вошел в систему с помощью API, в большинстве случаев вы получите токен аутентификации. Сохраните этот токен аутентификации, так как он потребует дальнейших запросов к серверам. Хранение может быть довольно сложным, я предпочитаю хранить токены в файле cookie, вы также можете хранить токены в хранилище Redux.

Если вы хотите использовать redux вместо cookie, в этом случае используйте пакет redux-persist npm, чтобы сохранить хранилище даже после того, как пользователь закроет вкладку браузера.

Получение токенов

Получить токены из хранилища redux довольно просто. Но если вы храните токены в файлах cookie, большую часть времени вам придется использовать сторонний пакет для работы с файлами cookie. Я предпочитаю cookie-cutter и next-cookie с Next JS для обработки методов cookie даже на стороне сервера.

После получения токена мы можем просто использовать его для дальнейшего запроса API. Другой способ - получить токен из Frontend и проверить, действителен ли токен с помощью API, а затем разрешить пользователю войти в ваше приложение.

Хранение данных

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

Выход из системы

Когда пользователь нажимает кнопку выхода, токен удаляется из файла cookie и обновляются данные пользователя из глобального состояния вашего приложения. Обычно я сохраняю логическое значение isUserLoggedIn, чтобы понять в приложении о состоянии входа пользователя в систему. Как только пользователь вышел из системы, я просто делаю значение isUserLoggedIn ложным.

Резюме

  • Объявить защищенные маршруты и защитить защищенные маршруты
  • Сохраните токен аутентификации либо в файле cookie, либо в глобальном состоянии, таком как redux.
  • Получите токен и используйте его для дальнейшего запроса API и для повторной аутентификации пользователя.
  • Получите пользовательские данные или другие необходимые данные, используя токены в других API, и сохраните их в глобальном состоянии вашего приложения.
  • Выход пользователя из системы и очистка токенов, а также использование данных глобального состояния.

Вывод

На сегодня все, надеюсь, вам понравилось. До следующего раза, удачного дня, народ.

For more reach our website 💻 iHateReading