2011-11-21 8 views
1

Что касается пассивной федерации, мне интересно, как точно работает перенос маркера безопасности от STS к полагающейся стороне. Почти в каждой статье, касающейся Windows Identity Foundation и пассивной федерации, говорится, что браузер перенаправляет (это, кстати, 30-кратный http-код?) И файлы cookie - это единственные «инструменты», которые используются. Но: когда STS хранит токен в файле cookie и перенаправляет браузер на полагающуюся сторону после этого, как возможно, что полагающаяся сторона может прочитать этот файл cookie? Не существует ли что-то вроде той же политики происхождения для файлов cookie (например, у javascript)? Эмитентом cookie (STS) является другой адрес/источник/домен, чем полагающаяся сторона, полагающаяся сторона тем не менее разрешает доступ к этому «чуждому» файлу cookie или это какая-то магия в фоновом режиме, которая делает возможным?WIF и пассивная федерация, доступ к файлам cookie

Спасибо

ответ

3

СТС не посылает печенье, это было бы невозможно.

Скорее STS возвращается в ваш браузер страница, содержащая: а) маркер SAML в теле страницы (XML) б) action=Relying Party url + Код JavaScript для AutoSubmit формы

браузер счастливо отправляет таким формы для полагающейся стороны. Затем он отвечает за создание cookie аутентификации, используемого для аутентификации последовательных запросов от клиента.

Нет никакого «магии», только токен SAML, явно переданный в тело запроса. Токен подписывается сертификатом STS, поэтому RP может проверить его подлинность.

+0

Спасибо, это правдоподобно. – ceran

+0

Для других людей, которые находят это и интересуются, форма, которая автоматически отправляется через Javascript, изящно деградирует и покажет кнопку отправки, чтобы пользователь мог вручную щелкнуть, если Javascript отключен. Вы можете отключить JS и проверить себя, используя инструмент проверки, например Chrome Dev Tools, для просмотра промежуточной формы. – Travis