Используя WIF с ASP.NET MVC 3, где мне определить конечную точку STS?

StackOverflow https://stackoverflow.com/questions/8806298

Вопрос

Я вижу, что документ Fedmetadata может предоставить уведомления о выписании и конечных точек подписки, а Web.Config определяет URL -адрес эмитента для подписи в запросах, но я не могу найти, где WIF знает, чтобы отправить запросы на подпись. Если STS, которые я использую, определяет разные конечные точки для входа в систему и регистрации запросов, как я могу получить к этому доступ в коде или настроить это в web.config?

Это было полезно?

Решение

По умолчанию WIF будет перенаправляться в ту же конечную точку STS для регистрации, что и для входа. Чтобы направить в другую конечную точку, вам нужно переопределить действие подписи, используя FederatedSignOut:

WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;

string signoutEndpoint = "http://STS/yourendpoint/";  // This can be stored in your configuration app settings
string signoutUrl = WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(signoutEndpoint, authModule.Realm, null);

WSFederationAuthenticationModule.FederatedSignOut(new Uri(signoutUrl), new Uri(currentPage));

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top