單點登錄似乎對我的應用程序和許多其他共享STS的網站正常工作。當我退出我的應用程序時,我似乎正確地從我的網站註銷;但是,我仍然可以訪問使用相同STS的其他應用程序,而無需再次登錄。任何人都可以告訴我我錯過了什麼嗎?爲什麼我的WIF註銷不能將我從所有RP網站註銷?
我的應用程序在陽光下調用了所有東西,試圖讓它起作用,但是當我只調用FederatedSignOut時,行爲是一樣的。
FederatedAuthentication.SessionAuthenticationModule.SignOut();
FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie();
FederatedAuthentication.WSFederationAuthenticationModule.SignOut(false);
System.Web.Security.FormsAuthentication.SignOut();
WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;
WSFederationAuthenticationModule.FederatedSignOut(new Uri(authModule.Issuer), new Uri(authModule.Realm));
這是我的STS登出碼。
SignOutRequestMessage requestMessage = (SignOutRequestMessage)WSFederationMessage.CreateFromUri(Request.Url);
FederatedPassiveSecurityTokenServiceOperations.ProcessSignOutRequest(requestMessage, User, requestMessage.Reply, Response);
這是STS的問題,還是與我的應用程序?如果註銷至少適用於我的應用程序,這可能是配置問題嗎?我是否必須明確地向所有RP發送「wsignoutcleanup1.0」消息,還是應該爲ProcessSignOutRequest爲我做這些?