У нас есть веб-сервис, в который пользователи могут входить и выходить. Куки-файл используется для определения того, подписан ли пользователь или нет.Как правильно заканчивать cookie?
Служба предоставляет несколько «сайтов», каждая из которых идентифицируется субдоменом. Например:
http://customer1.ourservice.com/
http://customer2.ourservice.com/
Есть два способа подписать в; либо «широкий сервис», либо «конкретный сайт».
«Сервис широкий» входные запросы отправляются на специальный субдомен (http://globalauth.ourservice.com/
). Такой знак в запросах приводит к Set-Cookie
заголовок вроде следующего:
Set-Cookie: OUR-COOKIE=<<cookie-value>>;
expires=Wed, 03 May 2017 11:25:58 GMT;
domain=.ourservice.com;
path=/;
httponly
(Разрывы строк добавлены здесь, чтобы сделать его легче читать)
Установка domain=.ourservice.com
делает печенье доступны для всех поддоменов.
Подписанные запросы на конкретный сайт отправляются на конкретный субдомен сайта. Они приводят к Set-Cookie
заголовок вроде следующего:
Set-Cookie: OUR-COOKIE=<<cookie-value>>;
expires=Wed, 03 May 2017 11:23:42 GMT;
path=/;
httponly
Выход из системы запросы всегда отправляются на сайт определенного субдомена и должны удалить куки для обоих «широкой стороне» знак в и «сайт специфический» знак в.
вывеска из запроса результат в Set-Cookie
заголовок вроде следующего:
Set-Cookie: OUR-COOKIE=;
expires=Mon, 02 May 2016 11:26:54 GMT;
path=/;
httponly,
OUR-COOKIE=;
expires=Mon, 02 May 2016 11:26:54 GMT;
domain=.ourservice.com;
path=/;
httponly
идея заключается в том, что оба сайта специфичны и обслуживание широкий куки должны быть очищены и истек.
Он работает, когда был использован знак «служебный широкий», но не работает, когда был использован «конкретный сайт».
Конкретный файл cookie для сайта просто не удаляется из браузера.
Как мы должным образом поручаем браузеру истекать/удалять файлы cookie независимо от того, был ли он выпущен с настройкой domain
или нет?