我们使用客户ASP.NET按钮注销我们的Web应用程序,该应用程序使用ADFS进行身份验证。我们已经尝试了几种方法来尝试让应用程序正确注销,但似乎没有任何效果。
它通常会将您带到联合服务器上的注销页面,该页面表示您已正确注销但如果您回复,则仍可以访问该网络应用程序。
尝试: HTTPS:// {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0
的https:// {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0&wreply= {-SIGN后out_landing_URL} 等
有没有人让这个工作正常?
感谢您的时间
答案 0 :(得分:8)
据我了解,您只需使用适当的wssignout操作将用户重定向到ADFS即可。这不会删除为您的应用程序创建的身份验证cookie,因此用户保持登录状态。
我使用WSFederationAuthenticationModule来触发联合注销:
string absoluteUrl = HttpContext.Request.Url.AbsoluteUri;
string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/") + 1);
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri(replyUrl));
我正在回复该应用程序,因为我想确保用户已退出。
希望这有帮助。
答案 1 :(得分:1)
对于我的应用程序,使用“?wa = wsignout1.0”URL清除应用程序FedAuth cookie和ADFS MSISAuth cookie。
你最终选择了“你已经退出”页面。
从那里,后退按钮会将您带回应用程序,但如果您尝试执行任何操作,则会重定向到ADFS以再次登录。
答案 2 :(得分:0)
我们也有类似的问题。为我们工作的解决方案建议在依赖方信任ADFS 2.0管理控制台中添加端点。 请按照以下步骤操作:
在google配置中添加注销网址(高级) - > SSO -
注销网址= https:// {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0
转到 ADFS 2.0管理控制台。在“端点”选项卡下,单击“添加”
端点类型= SAML注销,Binding = POST,URL = https://myadfsserver.domain.net/adfs/ls/?wa=wsignout1.0您可以设置响应URL,如果您希望它重定向到另一个页面,但我们喜欢ADFS网站,因为它警告您是注销但您仍应关闭浏览器。