У меня есть сервер Express, использующий аутентификацию PassportJS. Я использую стандартные запросы XMLHTTP для получения файлов.
Chrome и Firefox работают без проблем. Safari (Mac и iOS) не может отправить cookie-запрос с некоторыми запросами и делает это непоследовательно.
Все зарегистрированные неудачные запросы имеют другой идентификатор сеанса, который не аутентифицирован с помощью PassportJS.
Chrome и Firefox имеют единый идентификатор сеанса для всех запросов.
Я не использую запросы из разных источников, все они из одного источника. Я попытался использовать withCredentials true с тем же результатом, но это свойство не должно быть необходимо, так как оно того же происхождения и Chrome и Firefox работают без него.
Кажется, что нет шаблона для файловне удалось отправить запрос cookie. Иногда наугад (но редко) все запросы загружаются нормально.
Это не последовательный сбой, большинство запросов начинаются успешно, а затем происходит сбой с некоторыми успехами между ними.
ЭкспрессСервер не уничтожает сессии, они продолжают накапливаться. Неудачные запросы имеют идентификаторы сеансов, которые не являются аутентифицированными сеансами.
Что может заставить Safari случайным образом не отправлять cookie-запрос для некоторых запросов XMLHTTP?