2013-02-25 5 views
3

В моем приложении для сторонних приложений (ASP.NET MVC4) у меня есть ссылка «Выход», которая выводит меня из системы IdentityServer. Я прихожу на страницу «Успешный выход» со ссылкой на мое приложение. То, что я хочу сделать, - это щелкнуть ссылку «Выход» из IdentityServer и приземлить только мое локальное представление «LoggedOut». Как я могу это сделать? Я уверен, что это распространено, но я не могу найти примеры кодирования. Большое спасибо за любую помощь. вот мой выход из системы код ...Thinktecture IdentityServer как перенаправить после выхода из системы?

public class LogoutHandler 
{ 
    public string Signout() 
    { 
     FederationConfiguration cfg = FederatedAuthentication.FederationConfiguration; 
     var fam = FederatedAuthentication.WSFederationAuthenticationModule; 
     fam.SignOut(false); 
     var signOutRequestMessage = new SignOutRequestMessage(new Uri(fam.Issuer), fam.Realm); 

     return signOutRequestMessage.WriteQueryString(); 
    } 
} 

Затем в действии контроллера

public ActionResult Logout() 
{ 
string signoutUrl = new LogoutHandler().Signout(); 
return new RedirectResult(signoutUrl); 
} 

Это просто подписывает меня, но я землю на успешный знак IdentityServer из.

ответ

0

AFAIK вам просто нужно указать URL-адрес переадресации в зоне администрирования thinktecture. Кроме того, вы должны убедиться, что ваша страница выхода не защищена. Без этой последней части вы вернетесь на страницу выхода, но сразу перенаправляетесь обратно в STS.