ADFS 2016 X-Frame-Options для отказа - PullRequest
0 голосов
/ 29 октября 2018

Я использую adal.js. Я настроил свое приложение для работы с сервером ADFS 2016 (локально), и процесс аутентификации работает нормально, но после истечения срока действия файла cookie единого входа ADFS, когда клиент отправляет запрос на обновление токена (в скрытом фрейме), браузер показывает в консоль выдает следующую ошибку: отказать в отображении 'https://myadfs/adfs/ls/SAMLRequest=...' в новом кадре, поскольку для параметра' X-frame-options 'установлено значение deny.

Для повторной аутентификации пользователю необходимо обновить страницу (F5).

Есть ли какое-либо решение / способ обойти эту проблему?

1 Ответ

0 голосов
/ 20 ноября 2018

ADFS <= 2016 не разрешает вход в систему на основе iFrame для какой-либо интерактивной аутентификации по соображениям безопасности. Это сработало бы, если бы пользователю не нужно было выполнять интерактивный вход в систему (файл cookie единого входа или WIA). </p>

Правильный шаблон (поскольку вы находитесь в 2016 году) - использовать потоки OIDC для входа в приложение и использовать токен обновления для получения новых токенов доступа.

Даже здесь вам нужно обработать случай истечения срока действия маркера обновления, когда вам нужно будет локально сохранить контекст приложения (cookie или локальный кеш) и включить полное перенаправление в ADFS.

ADFS 2019 теперь имеет возможность, где администратор может настраивать параметры, для которых хосты разрешают iFrames, управляя заголовками.

Спасибо // Сэм (Twitter: @MrADFS)

...