@EgoriusRus

Поддержание сессии в Vuejs. Как правильно?

Нужен совет более опытных ребят
В чем суть. Разрабатываю приложение с фронтедом на vue и бэком на yii2
С процессом авторизации и логина я разобрался, и вроде всё простенько
Но столкнулся с такой проблемой. Необходим аналог сессии, чтобы хранить в приложении информацию о пользователе.
Она необходима и для запросов, мне необходимо знать id текущего пользователя, и для отрисовки - в хедере прописаны ФИО и должность пользователя.
Делаю так (не знаю насколько правильно), при beforeCreate() приложения прокидываю в бекенд токен, и получаю все данные пользователя и пихаю в store
Но столкнулся с такими проблемами
Первая - пока запрос не выполнился у меня в имени отображается, естественно, undefined, что не очень красиво
Вторая, и главная, при создании компонента, который берет все записи связанные с данным юзером, я создаю запрос на бек, внутри которого так передаю id пользователя
Но в ситуации, когда я еще не получил пользователя, а запрос на получения записей уже отправился, получаю GET вида
?id=undefined, что совсем не ахти
Подскажите, как правильно реализовать подобие сессии в вуе, или как обойтись без неё
  • Вопрос задан
  • 1316 просмотров
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
1. Состояние без данных
2. Отправка логина -> сервер отдает токен + userInfo (1 или 2 запроса не важно)
3. Сохраняете в стор userInfo, токен лежит в куках
4. При повторной загрузке, загружаете в стор userInfo из localStorage и запускаете процесс валидации токена (запрос на бэк)
5. плэйсхолдеры инициализируйте пустыми строками, можно еще подвесить computed свойство на отображение блока логина v-show
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы