Как отслеживать состояние OpenID Connect в Safari IFrame с ITP? - PullRequest
0 голосов
/ 28 мая 2020

Последние спецификации, такие как LTI 1.3, используют (по инициативе IdP) OpenID Connect для аутентификации инструментов. В LTI эти инструменты обычно работают в iframe в другом домене. Теоретически весь процесс аутентификации представляет собой «всего лишь» трехэтапную переадресацию браузера вперед и назад.

Чтобы избежать CSRF, рекомендуется отслеживать параметр состояния в сеансе с OpenID connect. Однако в Safari есть разные обручи, которые необходимо пройти, прежде чем какое-либо хранилище станет доступным в iframe: может потребоваться запрос хранилища (после взаимодействия с пользователем), повар ie должен быть предварительно установлен в контексте верхнего уровня, ...

Все решения, которые я могу придумать для инициирования соединения OpenID изнутри IFrame (с защитой CSRF), требуют большого количества кода и проверок, включая несколько возвратов между бэкэндом (для установки http- only session) и frontend (для проверки и запроса хранилища cook ie). Я не могу себе представить, что такой новый стандарт, как LTI 1.3, потребует такой сложности, чтобы заставить его работать, поэтому мне было интересно, существуют ли «рекомендуемые» подходы к подключению OpenID из iframe с параметром состояния.

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