Как сделать авторизацию в vue и django?

Здравствуйте, бак django, а front vue, авторизация на сайте работала при помощи jquery отправляя логин и пароль на сервер при помощи ajax.
Сейчас фронт делаю на vue как spa. Авторизацию оставил такую же как была, с помощью jquery.
Залогиниться можно, ответ от сервера приходит положительный. Но вот не задача, сессия в vue не сохраняется, т.е. пытаясь перейти по адресу где требуется быть авторизованным пишет что не авторизованный.
Глянул в куки оказалось не сохраняется сессия.
Вопрос, как сохранить, получить кука сессии, а затем передавать на сервер.
  • Вопрос задан
  • 5884 просмотра
Пригласить эксперта
Ответы на вопрос 3
@JonGalt
Приветствую. Я использю связку Django RestFrameWork + Vue. При авторизации отправляю запрос на сервер для получения токена и сохраняю его в куках Vue. Потом при каждом запросе на сервер добавляю этот токен в хедер.
http://www.django-rest-framework.org/api-guide/aut...
Но тебе надо будет еще использовать вот эту библиотеку для кросдоменных запросов
https://github.com/ottoyiu/django-cors-headers/
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
Комментировать
@ramazan793
Вот видео о cookie-session.js , он позволяет хранить сессию и данные о ней в куки. На видео идёт речь о его использовании с passport.js, но ты можешь и под свою jquery аутентификацию использовать, ограничений нет:
https://www.youtube.com/watch?v=5dQsR9Kcnzc. Ой, только что увидел, что ты на dJango. Но я уверен и на dJango есть аналоги, поищи.

Что насчёт Vue:

Используя Vuex можешь создать глобальную переменную типа 'logstatus' и при каждом первом заходе на сайт, чтобы фронт отправлял запрос на бэк и получал информацию о том авторизован пользователь или нет, ну и задвал соответствующее значение logstatus'у. Я лично так это реализовал. Есть вопросы - спрашивай
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы