在没有第三方 cookie 的情况下处理 Saml LogoutRequest

问题描述 投票:0回答:0

我有一种情况,我正在注销第三方应用程序并需要我的应用程序也注销。目前,由于无法访问 cookie,用户未退出我的应用程序 - 我无法确定哪个用户没有 cookie 登录。

第三方应用程序在注销过程中将我的应用程序加载到其站点的 iFrame 中——这导致我的应用程序由于第三方 cookie 被阻止而阻止访问其自己的 cookie。

我试过使用 SameSite=None,它确实允许注销在 Chrome 中正常工作,但 Firefox 和 Safari 等浏览器默认情况下继续阻止它。据我所知,Chrome 也将在今年某个时候阻止第三方 cookie。

我读到 SameSite=Strict 和 SameSite=Lax 不会是这里的解决方案,因为初始请求来自第三方并且不是来自我的应用程序的域,因此 cookie 将仍然无法访问。

我曾想也许我可以在用户登录时识别初始 Saml:AuthnRequest 上的 Id,并将其与 Saml:LogoutRequest 上的 Id 进行比较,但不幸的是,这两个 SAMLRequest 消息之间似乎没有连接/相关性。

我确实考虑过使用我在 Saml:LogoutRequest 中收到的 NameID,它确实允许我识别注销的用户,但它不允许我识别他们正在注销的会话 - 如果用户是跨多个设备登录到我的应用程序,那么我不想将它们从所有设备上注销!

如果由于我的应用程序被 iframed 而无法访问 cookie,并且我也无法使用 SAMLRequests 来识别用户,那么我还有哪些其他选项可以识别当前登录的用户以便我可以登录他们出去了?

谢谢!

cookies saml-2.0
© www.soinside.com 2019 - 2024. All rights reserved.