@smlwmy

Как получить сессию от сервера в vuejs?

Прикрутил аутентификацию с помощью passportjs - vkontakte.
Фронт и Бэк находятся на разных доменах. После аутентификации в браузере по GET-запросу с сервера я получаю всю инфу о сессии. Вопрос как передать ее во vue, а потом сохранить в каком-нибудь localStorage? Нужно отправить как-нибудь post? А что в параметрах? Если в случае с политикой логинов и паролей, то в POST запросе передаются логин и пароль. А что передавать тут?
Когда я прошу вернуть сессию с фронта через axios - пишет, что не авторизован. Оно и понятно, откуда серверу знать, что я хочу получить нужную сессию
Сессии хранятся в Mongo. Я так понимаю, нужно вытащить ее? Каким образом?
  • Вопрос задан
  • 462 просмотра
Пригласить эксперта
Ответы на вопрос 2
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
Я делал в 2 вариантах
А)postMessage как вариант, слушаете события из друго окна.
Б) Можно через одноразовые токены:
1) отправляете запрос, получаете ссылку по которой нужно открыть окно и токен, по которому в будущем проверите прошёл ли пользователь аунтификацию, этот же токен можно указать в дп параметрах при ответе от сервера vk
2) открываете новое окно и через цикл проверяете window.closed, те ждёте когда закроется окно.
3) в окне пользователь проходит аутификацию и возвращается на колбек ссылку, в которой должен вернутся данные для получения токена, и ваш одноразовый токен, сервер должен ответить is-ом window.close() , получить все нужные данные от вк и сохранить в бы
4)фронтенд цикл улавливает изменение состояния window, и отправляете запрос с токеном на сервер , на сервере проверяете состояния аунтификации и создаёте сессию
Ответ написан
Комментировать
Посмотрите в сторону vuex
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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