【问题标题】:ADFS cookies not getting clear after successful logout成功注销后 ADFS cookie 不清除
【发布时间】:2018-07-02 07:30:59
【问题描述】:

我们正在使用 ADFS 进行 SSO , 当我们使用此 URL 从我们的应用程序中成功注销时 https://XXXXX/adfs/ls/?wa=wsignout1.0 我们删除了所有应用程序级别的 cookie,但是一旦用户在浏览器中单击后退按钮,其用户就可以再次登录应用程序。

我们可以看到一些我们无法从应用程序中删除的与 ADFS 相关的 cookie。 解决此问题的任何建议。

【问题讨论】:

    标签: saml-2.0 adfs2.0


    【解决方案1】:

    您使用了错误的端点进行注销。 SAML 注销的端点是: https://XXXXX/adfs/ls/{your_saml_logout_request}。带有“?wa=wsignout1.0”的端点用于 ws-federation 注销,实际上并没有清除 SAML 登录会话的 cookie。要使 SAML 注销正常工作,请检查您的散列算法是否与 SP 和 ADFS 匹配。此外,您的注销请求应签名。

    【讨论】:

    • 这里的预期是什么:“{your_saml_logout_request}”?
    • xml形式的saml注销请求体
    • 你能详细描述一下吗,比如它是url的参数吗?是 GET 还是 POST?只有断言 id 是预期的还是整个断言?我们正在努力完成它。我们已经为注销配置了 HTTP-POST 绑定。任何指针都非常感谢。
    【解决方案2】:

    我遇到了类似的问题。现在我正在像这样清除我的 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"));                
            }
    

    【讨论】:

    • ADFS 分配的 Cookie 设置为不同的路径,通常是 /adfs。应用程序的注销服务可能不会收到 ADFS cookie。
    猜你喜欢
    • 2015-11-13
    • 2019-03-18
    • 2019-07-31
    • 2012-06-04
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    相关资源
    最近更新 更多