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

Как сохранять cookies в браузере если фронт и api на разных серверах?

Есть у меня фронт на Vue.js рендерит его server1.
Также есть бекенд api сервер на server2.
Cookies при логине отдает бекенд server2 написан на python flask с библиотекой cors.
С корсами вроде как порешал, но после того как добавил авторизацию, все поломалось, куки не сохраняются.
То есть при логине, бекенд отдает куки, но в дальнейшем они не сохраняются и не используются при остальных запросах на бекенд api server2.

На фронте использую Axios, параметр withCredentials: true использую, но все равно при запросах на сервер после логина получаю ошибку 401.
  • Вопрос задан
  • 924 просмотра
Подписаться 3 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 2
Я не разбираюсь в python flask, однако вам надо указать в cors параметр origin на server 1.
На node это выглядело бы так
app.use(cors({credentials: true, origin: 'http://name_of_server1'}));

P.S. это пишется на сервер2
Ответ написан
ketovv
@ketovv
Питонист
Если у вас самописная авторизация, то нужно проверить middleware, который отвечает за выдачу пользователям прав. При первой авторизации сервер должен устанавливать куки в ответе, браузер их сохраняет (это можно проверить в инструментах разработчика, во вкладке "хранилище" -> "куки").
В случае, если в браузере ваши куки появились надо проверять как при запросах проверяются куки в middleware авторизации.
Ответ написан
Ваш ответ на вопрос

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

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