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

Я работаю с аутентификацией в моем одностраничном приложении. Он имеет интерфейс React и интерфейс Flask. API возвращает cookie, который затем устанавливается браузером. Прямо сейчас я могу заставить это работать только на том же домене, хотя я указал значение cookie для домена.

РАБОТАЕТ:

UI: http://www.samedomain.com:3000/  
API: http://www.samedomain.com/api/login  
SESSION_COOKIE_DOMAIN: www.samedomain.com

При отправке успешного входа в систему в конечной точке входа поток работает правильно. Файл cookie сеанса создан, и аутентифицированное состояние сохраняется. Этот файл cookie хранится со значением домена .www.samedomain.com.

НЕ РАБОТАЕТ

UI: http://www.samedomain.com:3000/ 
API: http://backend-api.dev.samedomain.com/api/login  
SESSION_COOKIE_DOMAIN: backend-api.dev.samedomain.com 

Не удается настроить этот вид работы. Я пробовал все отсортированные по разным SESSION_COOKIE_DOMAIN значениям, но cookie не создается. Я использую библиотеку axios во внешнем интерфейсе, и для флага withCredentials установлено значение true. Я также настроил CORS в Flask API следующим образом:

origins = ['http://www.samedomain.com:3000']
CORS(app, origins=origins, supports_credentials=True)

Любое предложение о том, как заставить различные субдомены работать в этом потоке:

...