(旧版)跟踪预防评估 — Apple Safari tracking-prevention-assessment-apple-safari
Safari 10 safari10
详细信息
从Safari 10开始,默认的浏览器隐私设置将导致单点登录(SSO)、单点注销(SLO)和被动身份验证功能停止工作。 单点登录(SSO)和被动身份验证在中也无法工作
多个选项卡或浏览器窗口之间的同一会话。
这些更改会影响,并且正在影响Adobe Pass身份验证流程
对于AccessEnabler JavaScript SDK的以下版本:v2(版本2.x)、v3(版本3.x)、v4(版本4.x)。
缓解 mitigation-safari10
为了减轻这些限制,您可以指示用户更改Safari 10浏览器隐私设置,并对浏览器“首选项”中“隐私”选项卡上的“Cookie和网站数据”条目使用“始终允许”选项,如下图所示。
Safari 11 safari11
详细信息
从Safari 11开始,浏览器引入了智能防跟踪(ITP)机制,这是一种使用启发式技术防止跨站点跟踪的技术。 这些启发式方法会影响在网络调用中存储和重播第三方Cookie的方式,这意味着根据ITP机制激活,Safari浏览器将在客户端 — 服务器模型通信中阻止第三方Cookie。
Adobe Pass身份验证服务使用并依赖于Cookie作为身份验证过程的一部分以便正常工作。 在身份验证过程自动发生(例如Temp Pass)或使用iFrame或“无刷新”功能的实施中,Adobe的Cookie会被视为第三方Cookie,并且默认情况下会被阻止。 对于任何其他情况,Safari都使用机器学习算法,该算法可能会将所有Adobe的Pass身份验证服务Cookie标记为跟踪Cookie,因此可能会受到ITP的阻止。
总之,在激活智能防跟踪(ITP)机制后,Safari 11浏览器的用户可能无法在启用了Adobe Pass身份验证的网站上进行身份验证,尤其是当用户使用多个启用了Adobe Pass身份验证的网站时。 因此,用户的身份验证体验可能是意外的,并且未定义,从无法登录到身份验证持续时间短于预期不等。
这些更改会影响Adobe Pass身份验证过程,并且正在影响以下版本的JavaScript SDK:v2(版本2.x)、v3(版本3.x)。
缓解 mitigation-safari11
对于AccessEnabler JavaScript SDK v3(版本3.x)和AccessEnabler JavaScript SDK v4(版本4.x),该库都包含一个机制,该机制能够识别由于缺少所需的Cookie而导致用户身份验证被阻止的情况。 在这些情况下,库将触发特定的错误回调N130,该回调将传递回已启用Adobe Pass身份验证的网站,以便用作指示用户采取可缓解此问题的操作的信号。 为了受益于此机制,网站必须实施错误报告规范。
对于AccessEnabler JavaScript SDK v2(版本2.x),库不提供上述机制,因此,在指示用户采取措施缓解问题时,无法发出启用Adobe Pass身份验证的网站的信号。
可以缓解上述问题的操作列表 适用于所有三个版本的 的AccessEnabler JavaScript SDK。
当实施者的网站收到N130错误回调时,应指示用户禁用智能防跟踪(ITP)并通过以下方式启用第三方Cookie:
-
对于Mac OS X High Sierra及更高版本:从“首选项”取消选中浏览器“隐私”选项卡中“网站跟踪”条目的“阻止跨站点跟踪”选项,如下图所示。
-
对于Mac OS X Sierra和之前的版本:从首选项的浏览器“隐私”选项卡中选中“Cookie和网站数据”条目的“始终允许”选项,如下图所示。
Safari 12 safari12
详细信息
本节详细介绍Safari 12上 AccessEnabler JavaScript SDK版本4.x 的兼容性问题。
Safari 12上的AccessEnabler JavaScript SDK v4(版本4.x)的认证功能 certified-functionality-of-accessenabler-javacscript=sdk-v4
使用用户交互的身份验证流将始终有效,即使用户的浏览器禁用了第三方Cookie,因为从4.0版开始,AccessEnabler JavaScript SDK不再将第三方Cookie用于身份验证过程。
授权/预检/用户元数据操作完全有效,前提是用户已经过身份验证。
Safari 12上AccessEnabler JavaScript SDK v4(版本4.x)的已知问题 known-issues-of-accessenabler-javascript-sdk-4
-
SSO和SLO
- 由于从Safari 10开始在Safari中实施localStorage的方式,JS SDK无法再通过公共域iFrame共享登录状态。 这意味着用户需要登录使用AccessEnabler JavaScript SDK的每个网站。 注销也不会删除网站之间的身份验证令牌,因此用户需要从每个启用Adobe Pass身份验证的网站注销。
-
临时传递
- 对于临时传递,AccessEnabler JavaScript SDK使用个性化机制,以将身份验证令牌锁定到特定设备(浏览器实例)。 由于Safari 12中设计用于防止跟踪的新机制,因此我们正在计算并在个性化机制 中使用的指纹对于具有相同IP地址 的所有用户都将相同。 出于个性化目的,我们的确会考虑客户端IP,但即使这样,这种影响也会影响共享同一公共IP地址的用户。 对于这些用户,我们将计算相同的个性化ID,并且临时密码将绑定到该ID。 这意味着,一旦此类用户使用临时通行证,则任何其他用户都将无权访问它\! 这尤其会对公司用户、教育机构或其他任何组织造成影响,这些组织有多个用户使用NAT或公共代理来访问Internet。
-
自动流量
- 在使用JS SDK 4.0时,如果尝试在自动模式下进行身份验证并且没有进行任何用户交互,则在Safari 12中将不会成功。请注意,即将推出的JS SDK 4.1修复了自动流的所有问题。
受此问题影响的用例:
-
自动TempPass(自由预览)身份验证 — 对于此类流,SDK将引发N130错误。
-
被动身份验证(静默失败) — 要求用户选择此MVPD并输入凭据
缓解 mitigation-safari12
SSO和SLO
在撰写本文时,没有已知的缓解措施可用或可能。 Apple确实在Safari 12 (https://webkit.org/blog/8124/introducing-storage-access-api)中引入了“Storage Access API”,但当前实现不适用于localStorage,而仅适用于Cookie。 此外,API需要用户交互才能使用,并且在您使用它后,还会提示用户一个权限对话框,类似于以下对话框。
此时,这些Safari要求/提示与我们的UX要求不一致,并且我们在其他浏览器上的行为也不一致,在这些浏览器中,一旦我们在公共域localStorage中保存了令牌,SSO“刚刚起效”。
临时传递
为了缓解个性化问题并让用户进行交互,我们建议您以交互方式使用促销临时密码,并提供至少一个有关用户的附加信息(例如电子邮件地址)。
Safari 13 safari13
详细信息
从Safari 13开始,浏览器引入了智能防跟踪 (ITP)的新更改,使得在将第三方Cookie标记为跟踪Cookie的过程中机制背后的启发式更严格,以防止跨站点跟踪。
如前几节所述,当实施者使用AccessEnabler JavaScript SDK v2(版本2.x)和AccessEnabler JavaScript SDK v3(版本3.x)时,Adobe Pass身份验证服务使用并依赖第三方Cookie作为身份验证过程的一部分。 与Safari浏览器的先前版本相比,在ITP花了一段时间用于“了解”用户与相关方(程序员的网站和Adobe)之间的交互时,Safari 13浏览器从一开始就阻止第三方Cookie,这被视为在客户端 — 服务器模型通信中跟踪Cookie。
总之,Safari 13浏览器的用户极有可能无法在启用了Adobe Pass身份验证的网站上启动新的身份验证,该网站使用的是旧版AccessEnabler JavaScript SDK v2(版本2.x)或v3(版本3.x)。 出现这种情况是由于ITP阻止了所有必需的Adobe Primetime身份验证服务Cookie,从而导致服务无法满足身份验证请求。
AccessEnabler JavaScript SDK v4(版本4.x)库不使用第三方Cookie进行身份验证,因此其操作不会以任何方式受到Safari 13更改的影响。
缓解 mitigation-safari13
首先,我们强烈建议将迁移到AccessEnabler JavaScript SDK版本4.x,以便在Safari浏览器上拥有稳定且可预测的行为。
其次,对于AccessEnabler JavaScript SDK v3(3.x版),该库包含一种机制,能够识别由于缺少所需的Cookie而阻止用户身份验证的情况。 在这些情况下,库会触发一个特定的错误回调(N130),该回调将传递回启用Adobe Pass身份验证的网站,以便用作指示用户执行可缓解此问题的操作的信号。 为了受益于此机制,网站必须实施错误报告规范。
对于AccessEnabler JavaScript SDK v2(版本2.x),库不提供上述机制,因此,在指示用户采取措施缓解问题时,无法发出启用Adobe Pass身份验证的网站的信号。
当实施者的网站收到N130错误回调时,应指示用户禁用智能防跟踪(ITP)并通过以下方式启用第三方Cookie:
-
对于Mac OS X High Sierra及更高版本:从“首选项”取消选中浏览器“隐私”选项卡中“网站跟踪”条目的“阻止跨站点跟踪”选项,如下图所示。
-
对于Mac OS X Sierra和之前的版本:选中“首选项”下浏览器“隐私”选项卡中的“Cookie和网站数据 ”项的“ 始终允许”选项,如下图所示。