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