Как я могу хранить куки на локальном клиенте, которые возвращаются из локального бэкэнд API? - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть два приложения, которые я запускаю локально. Интерфейс React и бэкэнд Flask. Бэкэнд обрабатывает всю аутентификацию OAuth и предоставляет несколько конечных точек для внешнего интерфейса.

React : http://www.local -app.com: 3000 /
Колба: http://www.local -app.com /

Если я отправлю сообщение по URL http://www.local-app.com/v1/auth/login, я получу следующие данные ответа:

Access-Control-Allow-Origin: http://www.local-app.com:3000
Connection: keep-alive
Content-Length: 2
Content-Type: text/html; charset=utf-8
Date: Fri, 08 Nov 2019 03:13:04 GMT
Server: nginx
Set-Cookie: remember_token=username|long_remember_token_here; Expires=Sat, 07-Nov-2020 03:13:04 GMT; Path=/
Set-Cookie: session=long_session_token_here; Domain=.local-app.com; Expires=Mon, 09-Dec-2019 03:13:04 GMT; HttpOnly; Path=/
Vary: Origin

Мне кажется, это правильно, но Cookie никогда не сохраняется на клиенте, независимо от того, что я пытался.

Публикация на http://www.local-app.com/v1/auth/login в работе почтальона. Файл cookie устанавливается и сохраняется в других конечных точках.

Я думаю, что проблема заключается в домене cookie. Я попытался установить прокси и все виды, но ничего не помогло.

Есть предложения?

1 Ответ

0 голосов
/ 10 ноября 2019

Проблема была в том, что модуль Flask Cors переписал мою конфигурацию Nginx CORS. Добавление следующего кода в приложение Flask решило эту проблему для меня.

CORS(app, supports_credentials=True)

Спасибо Selcuk за указание в правильном направлении.

...