Хотя вы разрешаете доступ из внешних доменов с заголовком Access-Control-Allow-Origin
, сам сеанс основан на cookie.
Если скрипт, который делает запрос, доставлен из внешнего домена, он не сможет прочитать файл cookie и передать его на ваш сервер.
Решение: доставить JS, который делает вызов из одного и того же контекста (например, одного протокола/домена/порта) в качестве службы AJAX. Также убедитесь, что сам файл cookie не ограничен другим субдоменом или путем.
Не пытайтесь передать идентификатор сеанса по запросам POST или GET, это сделает ваше приложение уязвимым для CSRF.
Кстати, установка разрешенного источника на *
также обескуражена, поскольку его также можно использовать для XSS/CSRF в сочетании с другими методами. Пожалуйста, делайте лимитные запросы стороннему домену.
Последнее, но не менее важное: вы также можете ознакомиться с темой предполетных запросов через HTTP OPTIONS.