:) Спасибо. Да, именно так оно и работет.
OyemeВозможно, ты прочитал бегло суть вопроса.
Итак, еще раз, на этот раз в картинках:
Клиент и сервер на разных доменах.
Клиент шлет CROSS xhr с флагом xhr.withCredentials = true
Шаг 1.
Шлем от клиента к серверу login (корректно)
получили ответ:
Response Headers:Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:X-CSRF-Token
Access-Control-Allow-Methods:GET, POST, OPTIONS
Access-Control-Allow-Origin:http://front.com
Access-Control-Expose-Headers:X-CSRF-Token
Cache-Control:no-store, no-cache, must-revalidate
Connection:keep-alive
Content-Type:application/json
Date:Thu, 12 Oct 2017 12:09:44 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:nginx/1.10.3
Set-Cookie:PHPSESSID=k7s5tcnpv9n4vbl3g0eit40b47; path=/
Transfer-Encoding:chunked
Шаг 2.
Клиент шлет запрос asset/list к серверу вместе с заголовками (корректно):
Request Headers:Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,ru;q=0.2,ca;q=0.2
Connection:keep-alive
Cookie:PHPSESSID=k7s5tcnpv9n4vbl3g0eit40b47
Host:core.bc3.local
Origin:http://front.com
Referer:http://front.com/asset/list
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
Получили содержимое сессии с сервера;
Шаг 3.
Клиент шлет запрос logout к серверу вместе с заголовками (корректно):
Request Headers:Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,ru;q=0.2,ca;q=0.2
Connection:keep-alive
Cookie:PHPSESSID=k7s5tcnpv9n4vbl3g0eit40b47
Host:core.bc3.local
Origin:http://front.com
Referer:http://front.com
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
В этот самый момент, на сервере участок кода, отвечающий за убийство сессии, повел себя непредсказуемо. В итоге, сессия убита не была. Сервер вообще ничего не ответил. Ответил 500-ой ошибкой.
Шаг 4.
Повторяем Шаг 2 (не имеем права, но мы хакеры, и знаем, что на сервере сессия не была удалена).
И получаем содержимое сессии с сервера (она же удалена не была).
Вот меня и интересует, как заставить клиента удалить куку PHPSESSID.
Тогда при попытке повторить Шаг 2, сервер корректно пришлет ничего.
_____________
[продано копирайтерам]