Задать вопрос
@DangeonFurry

Как хранить состояние авторизованного пользователя в spa и как ее правильно обновлять?

Доброго всем дня, может кто рассказать как правильно хранить флаг авторизации на сайте, а именно:
У меня jwt авторизация, предположим пользователь залогинился, я меняю флаг например в куках или локалстораже на isLogin: true, из за чего у меня перерисовывается интерфейс (например убирается кнопка войти и появляется кнопка выйти), так вот, в следующий раз когда он зайдет, у него кнопка выйти останется, хотя токен по факту уже сгорел и его нужно обновить, следовательно кнопки выйти уже не должно быть, должна быть кнопка войти. Но делать проверку каждый раз при заходе на главную страницу валидна ли ранняя авторизация мне кажется немного не правильна, при каждом заходе на страницу будет посылаться запрос на сервер, при каждом обновлении будет посылаться запрос на сервер, мне кажется можно как то более лаконично это сделать, можете подсказать как?
  • Вопрос задан
  • 215 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя Виктор Майоров К ответам на вопрос (3)
victormayorov
@victormayorov
Frontend разработчик
Посоветовал бы сделать общий сервис с запросами, например написал бы класс с основными методами(get,post,patch,delete etc) и наследовался бы от него для отправки запросов где нужна авторизация, например получения инфы о пользователе. В родительском классе можно вытаскивать перед запросами из localstorage jwt токен и проверять его время жизни, если оно вышло, то отправляем запрос на обновление токена, обновляем токен и разрешаем запрос для получения инфы о пользователе, иначе меняешь статус isLogin: false и у тебя интерфейс автоматом перерисовывается. Как-то так, надеюсь мое краткое объяснение поможет :)
Ответ написан
Комментировать