#google-chrome #cookies #iframe
Вопрос:
Я создаю веб-приложение, которое встраивает iframe Qlik Sense, что означает iframe с внешнего сервера. Вот как выглядит вызов выборки:
return fetch("https://servername/prefix/qrs/about?xrfkey=<key>", {
method: 'GET',
mode: 'cors',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'X-Qlik-xrfkey': '<key>',
'Authorization': 'Bearer ' token
},
}).then(response => {
return response.status === 200;
});
Для аутентификации в iframe Qlik я использую JWT, который я регистрирую в Qlik Sense. В качестве ответа я получаю заголовок ответа «Set-Cookie» и соответствующий токен сеанса. Однако Chrome, похоже, блокирует файл cookie с предупреждением «Этот набор файлов cookie был заблокирован из-за предпочтений пользователя». Он работает в Edge и Firefox.
Поскольку я разрабатываю, я использую «localhost:8080». Я читал, что Chrome игнорирует файлы cookie на http://localhost, поэтому я попытался использовать SSL -> «https://localhost:8080» что не сработало. Кроме того, я пробовал через IP, так что «https://127.0.0.1:8080», тоже не сработало.
Более того, я настроил серверную часть (консоль управления Qlik) таким образом, что SameSite = Нет и что он использует атрибут «Безопасный», так как я читал, что это также может вызвать проблемы. Плюс я использую credentials 'include'
атрибут.
Это заголовки моих запросов Заголовки запросов
а вот заголовки ответов Заголовки ответов
У кого-нибудь из вас есть идеи, как это исправить для chrome? Вам нужна дополнительная информация?
Заранее спасибо! Овации
Ответ №1:
Ладно, нашел решение. Если кто-то сталкивается с той же проблемой: я всегда использовал Chrome инкогнито, чтобы избежать проблем с кэшированием. И была настройка, которая по умолчанию блокировала все сторонние файлы cookie в режиме инкогнито:
Сторонние файлы cookie Chrome в режиме инкогнито
Как только вы измените это на «принять», это сработает. Овации