Я использовал веб-отладчик Fiddler, чтобы найти ответ на этот вопрос. Вот что происходит: Предположим, что имя вашего приложения — SecureApp
, а имя вашей STS — SecurePortal
.
Первое, что происходит, когда вы наводите браузер на SecureApp
, — он проверяет, аутентифицированы ли вы. В противном случае вы будете немедленно перенаправлены на SecurePortal
со строкой запроса, указывающей, что вы входите в SecureApp
.
Как только вы входите в систему с помощью SecurePortal
, платформа WIF создает HttpResponse
из SecurePortal
, который содержит некоторые «скрытые» HTML-поля, содержащие значения, указывающие на то, что вы успешно вошли в систему. Эти значения могут быть подписаны и/или зашифрованы в зависимости от настройки SecurePortal
. Наряду с этими значениями записывается некоторый код Javascript, чтобы браузер отправлял значения в SecureApp
. Как только эти значения будут проверены SecureApp
, платформа запишет HttpResponse
с файлами cookie, которые указывают, что вы вошли в систему. По моему опыту, имена файлов cookie начинаются с «FedAuth». На данный момент вы можете получить доступ к страницам в пределах SecureApp
.
Кроме того, я хотел бы отметить, что у фреймворка, похоже, есть способ предотвратить удаление файлов cookie, которые он устанавливает, вручную.
Я предлагаю вам использовать веб-отладчик и наблюдать за этим процессом самостоятельно, чтобы лучше понять.
Короткий ответ: токен сначала передается вашему браузеру как HttpResponse
в STS, а затем снова передается вашему браузеру как файл cookie в приложении.
person
Vivian River
schedule
24.05.2010