«Запретить межсайтовое отслеживание» в Safari нарушает некоторые функции Okta (из-за того, что сессия Okta не создается) - PullRequest
0 голосов
/ 01 июня 2018

Я использую виджет входа okta для аутентификации пользователей в нашем приложении.Проблема в том, что когда в Safari установлен флажок «предотвращать межсайтовое отслеживание» (FF имеет аналогичную настройку), вход по-прежнему работает, но единый вход, MFA «не вызывает» и создание сеанса Okta не работает.Если снять флажок с этого параметра, все будет работать как положено.

В Chrome я могу использовать метод без вывода сообщений (без перенаправления URL-адреса браузера) для получения токена доступа из Okta.Браузер может загружать сеанс Okta и прекрасно использует функцию MFA «Не вызывать меня на этом устройстве».

Однако с тем же кодом Safari не позволяет загружать сеанс Okta и не позволяетэто когда-либо перестало бросать вызов пользователю на основе устройства, которое он использует (когда опция отмечена ... совершенно нормально, когда не отмечена).

Поэтому я переключил код на использование шаблона response.session.setCookieAndRedirect('http://mysite/login'), думая, что перенаправлениена сайт Okta решит проблему. Я вижу, как браузер перенаправляет на Okta, а затем возвращается на мой сайт с токеном доступа в параметре code, но результат тот же.

Одна из вещей, которые я прочитал, сказалачто пользователь должен «взаимодействовать» со сторонним сайтом ... не совсем уверен, что означает «взаимодействовать», хотя… это, кажется, означает больше, чем «перенаправление через» сайт.

У кого-то есть лучший шаблондля этого, который будет работать в браузерах, которые имеют более сильную стороннюю защиту куки (например, FF и Safari)?

...