2

这里是我的依赖方用我的注销代码:身份服务器单点登录时,从服务器注销太

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注销并重定向到身份服务器“退出状态”页面,但我仍然保持登录身份服务器,这是预期的行为?我怎样才能改变这个,所以我也从身份服务器注销?

回答

0

我修改HRDController:

private ActionResult ShowSignOutPage(string returnUrl) 
{ 
    .... 
    FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie(); //added this 
    return View("Signout", realms); 
} 
1

它取决于IdentityServer如何进行身份验证。如果它是基于cookie,那么你应该被注销,但如果它是使用像集成的Windows身份验证,那么你会得到自动重新登录

+0

这是基于cookie,但我很混乱的代码。我在同一个视图上设置了wsfed和HRD,并且我也将基于wsfed的HRD用户认证为基于(因为我使用简单成员注册了它们)。无论如何,我得到它的工作。 – formatc