Используя WIF с asp.net MVC 3, где я могу определить конечную точку выхода STS?

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


person ryanhallcs    schedule 10.01.2012    source источник


Ответы (1)


По умолчанию 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));

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

person Garrett Vlieger    schedule 10.01.2012
comment
Это то, что мне нужно было знать. Я поместил конечную точку в конфигурацию, но хотел убедиться, что не пропустил параметр WIF, который вместо этого принимает URL-адрес. - person ryanhallcs; 11.01.2012