Cookie не устанавливается в iframe - PullRequest
0 голосов
/ 03 июля 2018

У меня есть Identity Server (v4) на одном сервере и веб-приложение на другом сервере и в домене. Мне нужна только проверка подлинности Windows, и все отлично работает с перенаправлением. Однако я заметил, что тихий вход в систему работает, если срок действия файла cookie еще не истек.

Если срок действия файла cookie истек, в настоящее время требуется перенаправление, которое работает нормально. К сожалению, однако, это будет означать, что если на текущем экране есть данные, которые пользователь не сохранил, они потеряют их, если я не реализую механизм кэширования. Вместо этого я хочу установить скрытый iframe, который просто перемещается на Identity Server, автоматически входит в систему, если пользователь находится внутри инфраструктуры компании (которой они всегда будут).

После нескольких часов отладки я обнаружил, что хотя файлы cookie правильно отправляются из iFrame, все файлы SET, похоже, не работают - они находятся в отладчике Chrome в качестве файла cookie ответа, но не отправляются вместе при следующем перенаправлении. как запрос куки, и я не знаю почему.

При ответе:

Параметры cookie : SameSite Lax, HTTP true, Secure true, Path /

Заголовки:

Content-Security-Policy : default-src 'self'; object-src 'none'; frame-src localhost: 44388; фреймы-предки "я" https://localhost:44388/; Разрешить-формы-песочницы allow-same-origin позволяют-сценарии; base-uri 'я';

Постоянный-Auth : true

Pragma : без кэширования

Referrer-Policy : no-referer

WWW-Authenticate : согласование oRswGaADCgEAoxIEEAEAAABJ + 0p / zH0aeAAAAAA =

X-Content-Security-Policy : default-src 'self'; object-src 'none'; каркасно-SRC ** локальный: 44388; frame-ancestors 'self' https://localhost:44388/; allowbox-sandol-формы allow-same-origin разрешающие скрипты; base-uri 'я';

X-Content-Type-Options : nosniff

X-Frame-Options : ALLOW-FROM https://localhost:44388/

1 Ответ

0 голосов
/ 04 января 2019

Чтобы устранить аналогичную проблему - сайт, прошедший проверку подлинности внутри iframe с другим именем хоста, - я удалил атрибут SameSite, который я настроил.

На самом деле есть три варианта для SameSite, от самых строгих до минимальных: строгий, слабый и «вообще не устанавливайте».

...