3

这是我在依赖方中使用的注销代码:

    FederationConfiguration cfg = FederatedAuthentication.FederationConfiguration;
    var fam = FederatedAuthentication.WSFederationAuthenticationModule;
    fam.SignOut(false);
    var signOutRequestMessage = new SignOutRequestMessage(new Uri(fam.Issuer), fam.Realm);
    return new RedirectResult(signOutRequestMessage.WriteQueryString());

并从 RP 注销并重定向到身份服务器“已注销”页面,但我仍然在身份服务器上保持登录状态,这是预期的行为吗?如何更改此设置,以便我也从身份服务器中注销?

4

2 回答 2

1

这取决于 IdentityServer 如何进行身份验证。如果它是基于 cookie 的,那么您应该注销,但如果它使用集成 windows auth 之类的东西,那么您将自动重新登录。

于 2013-08-25T17:45:14.983 回答
0

我修改了 HRDController:

 private ActionResult ShowSignOutPage(string returnUrl)
 {
   ....
   FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie(); //added this
   return View("Signout", realms);
 }
于 2013-08-25T17:53:53.687 回答