Safari 的"Prevent cross-site tracking"破坏了几个 Okta 功能(由于未创建 okta 会话)



我正在使用 okta 登录小部件在我们的应用程序中对用户进行身份验证。问题是,当在 Safari 中选中"防止跨站点跟踪"时(FF 具有类似的设置(,登录仍然有效,但单点登录、MFA"不质询"和 Okta 会话创建不起作用。如果我取消选中该设置,一切将按预期工作。

使用 Chrome,我可以使用静默(无浏览器 url 重定向(方法从 Okta 检索访问令牌。浏览器可以加载 Okta 会话,并使用 MFA 功能"不要在此设备上再次挑战我"完全可以。

但是,使用相同的代码,Safari 不允许我加载 Okta 会话,也不会停止根据用户正在使用的设备挑战用户(选中该选项时......未选中时完全没问题(。

所以我切换了代码以使用response.session.setCookieAndRedirect('http://mysite/login')模式,认为重定向到 Okta 的网站可以解决这个问题。我可以看到浏览器重定向到 Okta,然后使用代码参数中的访问令牌返回我的网站,但是,结果相同。

我读到的一件事说用户必须与第三方网站"交互"......虽然不确定"互动"是什么意思......它似乎意味着比"重定向"网站更多。

任何人都有更好的模式,可以在具有更强的第三方cookie保护的浏览器(例如FF和Safari(中工作?

似乎解决此问题的唯一方法是将自定义域应用于您的 Okta 租户和应用程序,以便它们匹配,即 Okta 域 matt.okta.com,应用程序域 app.matt.com。它不再是第三方cookie,因为它与Okta相关联,因此风险较小。

你可以在这里找到更多关于它的信息:https://support.okta.com/help/s/article/FAQ-How-Blocking-Third-Party-Cookies-Can-Potentially-Impact-Your-Okta-Environment?language=en_US

最新更新