【发布时间】:2018-07-02 07:30:59
【问题描述】:
我们正在使用 ADFS 进行 SSO , 当我们使用此 URL 从我们的应用程序中成功注销时 https://XXXXX/adfs/ls/?wa=wsignout1.0 我们删除了所有应用程序级别的 cookie,但是一旦用户在浏览器中单击后退按钮,其用户就可以再次登录应用程序。
我们可以看到一些我们无法从应用程序中删除的与 ADFS 相关的 cookie。 解决此问题的任何建议。
【问题讨论】:
我们正在使用 ADFS 进行 SSO , 当我们使用此 URL 从我们的应用程序中成功注销时 https://XXXXX/adfs/ls/?wa=wsignout1.0 我们删除了所有应用程序级别的 cookie,但是一旦用户在浏览器中单击后退按钮,其用户就可以再次登录应用程序。
我们可以看到一些我们无法从应用程序中删除的与 ADFS 相关的 cookie。 解决此问题的任何建议。
【问题讨论】:
您使用了错误的端点进行注销。 SAML 注销的端点是: https://XXXXX/adfs/ls/{your_saml_logout_request}。带有“?wa=wsignout1.0”的端点用于 ws-federation 注销,实际上并没有清除 SAML 登录会话的 cookie。要使 SAML 注销正常工作,请检查您的散列算法是否与 SP 和 ADFS 匹配。此外,您的注销请求应签名。
【讨论】:
我遇到了类似的问题。现在我正在像这样清除我的 Azure AD 身份验证 cookie。也许它不是最好的解决方案,但它有效
while (Request.Cookies["MyCookie"] != null && Request.Cookies["MyCookie1"] != null)
{
Request.Cookies["MyCookie"].Expires = DateTime.Now.AddDays(-5);
Response.Cookies.Add(new HttpCookie("MyCookie"));
Request.Cookies["MyCookie1"].Expires = DateTime.Now.AddDays(-5);
Response.Cookies.Add(new HttpCookie("MyCookie1"));
}
【讨论】: