У меня возникают проблемы с пониманием того, почему файлы 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?
Спасибо.