Файлы cookie не установлены в IE11 windows 7 для приложения iframe - PullRequest
0 голосов
/ 13 февраля 2019

Я работаю с надстройкой для Outlook и веб-приложением Rails.Веб-надстройка загружается в виде iframe, если она включена через Outlook в Интернете.Эта страница является страницей входа из нашего приложения Rails.Наше приложение Rails имеет стандартную настройку Devise для процесса аутентификации.

Когда загружается страница входа в систему, мы вводим правильные учетные данные и нажимаем на кнопку входа, файлы cookie теряются на протяжении всего процесса имы снова перенаправлены на страницу входа в систему.

Когда мы посмотрим на вкладку Сеть в консоли разработки, мы увидим, что /users/sign_in запрашивается и возвращается с надлежащими заголовками ответа и файлами cookie длязадавать.Успешное нажатие /users/sign_in обычно перенаправляет iframe на /dashboard/stats со всеми надлежащими сеансами и файлами cookie в заголовке.Однако это не так, и мы видим, что заголовки запроса для /dashboard/stats не имеют надлежащих файлов cookie / сеансов, вместо этого они отсутствуют.В результате в приложении Rails мы видим, что не существует надлежащих сеансов cookie / devise, и отправим 401 и перенаправим обратно на страницу входа /users/sign_in.

Эта проблема возникает только для Internet Explorer 11 (версия: 11.0.9600.19230) в Windows 7 .

Я протестировал эту же вещь с более поздней версией IE11 для Windows 10, и она отлично работает: все файлы cookie и атрибуты сеанса установлены правильно, и мы успешно вошли в систему.Я также проверил это на Chrome, Safari и Firefox, и тот же сценарий проходит.К сожалению, нам нужно поддерживать эту версию IE11 в Windows 7 (или последнюю версию).

Мне было интересно, сталкивался ли кто-либо с подобной проблемой и / или имел какие-либо идеи относительно того, что может быть решениемздесь для этих пропавших файлов cookie.

1 Ответ

0 голосов
/ 14 февраля 2019

Покопавшись на форумах, похоже, что это проблема, связанная с P3P header .Имейте в виду, что я обнаружил, что это проблема только в вышеуказанной версии IE11.Моя последняя версия (IE 11.316.17763.0) не имеет такой же проблемы.

По сути, в IE11, если страница внутри iframe не имеет заголовка P3P, браузер блокирует куки,Вы можете проверить, заблокирована ли ваша страница в IE11, нажав Вид> Отчет о конфиденциальности веб-страницы ...

Если проблема присутствует в вашей версии IE11, вы увидите, что ваша страницав столбце Cookies "Заблокировано".

Проблема решена путем включения заголовка P3P в заголовки ответа вашего веб-приложения.Вы можете прочитать больше в этом посте .

Если вы не уверены в значении заголовка P3P, я бы посоветовал прочитать этот пост .

Однако, похоже, что концепция P3P устарела и был приостановлен , и, основываясь на первом посте выше, вам не нужно слишком беспокоиться о значении заголовка.

Наконец, я бы порекомендовал людям добавить область заголовка P3P, только если вы обнаружите, что запрос был отправлен из браузера IE11.Это то, что, по-видимому, применяет только IE: другие современные браузеры не имеют этой проблемы.

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