Идентификатор Session-Node узла Js Safari для файла cookie не определен в файле req.headers.cookie - PullRequest
0 голосов
/ 25 августа 2018

Я столкнулся с проблемой, когда я не могу получить sessionID в Safari. Я не могу получить идентификатор сеанса при дальнейших вызовах в localhost, а также в вызовах https.

Ниже код, который я использую в моем server.js. В Chrome и Firefox все работает нормально. Проблема только в Safari. Я использую cookie-сессию пакета узла. Пожалуйста, помогите.

Boot.App.use(session({name: 'checkSession',keys: new Keygrip(['app-key-1'], 'SHA384', 'base64'),secure: false,httpOnly: true,domain: doc.Domain.ENV,maxAge: 31536000000}));

Вот как я создаю сессию

Boot.App.get('/set', function(req, res){req.session={checkSession:"user"};res.end(JSON.stringify("sessionSet"));});

Но в дальнейших звонках я пытаюсь идентифицировать сеанс req.headers.cookie.

1 Ответ

0 голосов
/ 11 июня 2019

Это известная проблема с браузером Safari.По сути, Safari отключает сторонние файлы cookie по умолчанию.Нужно зайти в браузер и включить его, очевидно, в корпоративном приложении вы не можете попросить своих пользователей сделать это.

Существовали известные обходные пути для этого с использованием iframes, например -

Safari: сторонний трюк с фреймом cookie больше не работает?

Но с тех пор Apple обошла их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...