Выход из веб-приложения ADFS 2.0 - PullRequest
12 голосов
/ 08 июля 2011

Мы используем клиентскую кнопку ASP.NET для выхода из нашего веб-приложения, которое использует ADFS для аутентификации. Мы попробовали несколько вариантов, чтобы заставить приложение правильно выйти из системы, но, похоже, ничего не работает.

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

Пробовал: https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0

https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0&wreply={post-sign-out_landing_URL} и т.д.

Кто-нибудь заставил это работать должным образом?

Спасибо за ваше время

Ответы [ 3 ]

8 голосов
/ 08 июля 2011

Как я понимаю, вы просто перенаправляете пользователя в ADFS с соответствующим действием wssignout. Это не приведет к удалению файла cookie аутентификации, созданного для вашего приложения, поэтому пользователь остается в системе.

Я использую WSFederationAuthenticationModule для запуска федеративного выхода:

string absoluteUrl = HttpContext.Request.Url.AbsoluteUri;
string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/") + 1);
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri(replyUrl));

Я отвечаю обратно в приложение, потому что хочу быть уверенным, что пользователь вышел из системы.

Надеюсь, это поможет.

1 голос
/ 11 июля 2011

Для моих приложений с помощью URL-адреса "? Wa = wsignout1.0" удаляются файлы cookie приложения FedAuth и файлы cookie ADFS MSISAuth.

Вы попадаете на страницу "Вы вышли из системы".

Оттуда, кнопка возврата возвращает вас в приложение, но если вы попытаетесь что-то сделать, вы будете перенаправлены в ADFS для повторного входа.

0 голосов
/ 21 января 2013

У нас тоже была похожая проблема. Решение, которое работало для нас, рекомендовало добавить конечную точку в доверие проверяющей стороны к консоли управления ADFS 2.0. Пожалуйста, выполните следующие действия:

  1. Добавьте URL для выхода из системы в конфигурации Google (Дополнительно) -> SSO -

    Выйти URL = https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0

  2. Перейдите на Консоль управления ADFS 2.0 . На вкладке Конечные точки нажмите Добавить

  3. Тип конечной точки = выход из SAML, Binding = POST, URL = https://myadfsserver.domain.net/adfs/ls/?wa=wsignout1.0 Можно указать URL-адрес ответа, если вы хотите, чтобы он перенаправлял на другую страницу, но нам нравится сайт ADFS, поскольку он предупреждает, что вы вышли из системы, но вы все равно должны закрыть браузер.

...