Совместное использование файлов cookie между многоуровневыми поддоменами - PullRequest
0 голосов
/ 29 марта 2020

У меня возникают проблемы с пониманием того, почему файлы cookie сохраняются в одном приложении в моем сценарии, а не в другом.

У меня есть несколько служб, каждый из которых имеет собственный поддомен и отправляет запросы REST друг другу. В одном случае service.example.com отправляет запрос POST на login.example.com . Я использую API выборки с credentials: include. Я также тестировал с топором ios и withCredentials: true с теми же результатами. Успешный ответ имеет заголовок Set-Cookie с JWT и доменом example.com, и в этом сценарии браузер сохраняет значение повара ie, как и ожидалось.

Теперь есть настройка среды разработки, которая отражает производственную настройку. только каждый URL находится под dev.example.com . Таким образом, в среде разработчиков service.dev.example.com делает тот же POST-запрос для login.dev.example.com . В этом случае, если домен cook ie равен example.com, он продолжает работать должным образом.

Однако, если я изменю домен cook ie в среде dev на dev.example.com, браузер (протестированный на последних версиях Chrome и Firefox) больше не будет сохранять Cook ie, даже если каждый URL-адрес все еще находится в поддомене домена Cook ie.

Я прочитал раздел Соответствие доменов в RFC6265 , и все перечисленные там условия, похоже, удовлетворяются моей установкой.

Кто-нибудь знает, почему это не сработает в этом сценарии? Можно ли как-нибудь настроить тестовую установку, в которой не будут храниться файлы cookie, которые также будут использоваться при запросах к среде prod?

Спасибо.

...