Thinktecture IdentityServer退出后如何重定向?

时间:2013-02-25 22:05:51

标签: asp.net asp.net-membership wif

在我的依赖方应用程序(ASP.NET MVC4)中,我有一个Sign Out链接,它将我从IdentityServer中注销。我正在登陆它的“成功注销”页面,其中包含一个返回我的应用程序的链接。我想要做的是点击IdentityServer的“注销”链接,然后只登陆我的本地视图“LoggedOut”。我怎么能做到这一点?我确信这很常见,但我找不到任何编码示例。非常感谢您的帮助。这是我的退出代码......

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成功注销。

1 个答案:

答案 0 :(得分:0)

AFAIK您只需在thinktecture管理区域中指定重定向URL即可。此外,您必须确保您的注销页面不安全。如果没有最后一部分,您将返回注销页面,但会立即重定向回STS。