克服 SSO 和静默登录的 ITP 或第三方 Cookie 问题

Sla*_* II 5 authentication cookies cross-domain single-sign-on

众所周知,WebKit 的 ITP第三方 cookie阻止正在阻止常见的 SSO 技术正常工作。当用户自动登录到新访问的域时,这尤其与 SSO 的所谓静默登录功能相关,该域连接到她已经通过身份验证的某个身份验证服务器(具有活动的“全局”会话)。我相信这通常是使用隐藏的 iframe 和后消息来实现的。

看起来主要的 IAM 提供商已经屈服于这些障碍,只提供有限的功能。例如,Stack Exchange 门户不仅不支持静默登录,而且当您显式单击登录按钮时甚至无法恢复其他门户上的活动会话:

AskUbuntu 无法恢复 StackOverflow 上的活动会话

AskUbuntu 无法自动恢复 StackOverflow 上的活动会话。

所以,我的问题是:

1)。实际上是否有可能在实现 SSO(尤其是静默登录功能)时克服这些限制,而无需将整个浏览器窗口重定向到身份验证服务器?是否可以使用 XHR + CORS 来实现此目的?或者也许其他一些存储机制(例如 LocalStorage、Cache API、Service Workers 等)可以在禁用 cookie 的情况下保留会话?

2)。Google 如何通过 google.com/youtube.com 域解决此问题?看起来他们确实在恢复全局会话时重新加载整个应用程序,但只有当用户实际使用 Google 登录时才会发生这种情况。如果用户未登录,YouTube 不会自行重新加载。他们如何检测用户是否确实获得了全局会话?