Задать вопрос
the_goldmayer
@the_goldmayer
Кот.

Авторизация — где инициализировать?

Добрый день!

Я не знаю где правильнее будет инициализировать и какую логику выбрать для работы службы аутентификации сеанса на основе файлов cookie.

Когда мы проходим аутентификацию, мы получаем соответсвующие куки файлы.
Дальше мы диспатчим пользователя.

При загрузке приложения или при перезагрузки страницы, состояние приложения уже не знает про то, что мы авторизованы.

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

Последнее для двух причин.

Первое - убедиться в том, что мы действительно авторизованы.
Второе - Обновляем пользовательские данные.

Вопрос: Как это делают вообще и как грамотно это реализовать?
Доп. вопрос: Какие файлы создавать, где они должны лежать?

Последний вопрос наверное большее про архитектуру.
Как в идеале это должно быть реализовано? Хотя знаю, что в мире js строгих стандартов нет.

Архитектура в данный момент:

src
- components

-- Something.js


- containers

-- App.js


- actions

-- someActionCreator.js


- reducers

-- someReducer.js
-- rootReducer.js


- index.js

- store.js


Спасибо!
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@sakhnyuk
При загрузке приложения или при перезагрузки страницы, состояние приложения уже не знает про то, что мы авторизованы.

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

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

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

Нет смысла использовать localStorage и тебе показывать нечего пользователю при наличии этой ячейки. Делай запрос, а сервер тебе вернет или не вернет данные. Все просто.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽