Safari 的“防止跨站点跟踪”破坏了 Okta 的几个功能(由于没有创建 okta 会话)

Mat*_*att 6 okta okta-api

我正在使用okta 登录小部件来验证我们应用程序中的用户。问题在于,当在 Safari 中选中“防止跨站点跟踪”时(FF 具有类似的设置),登录仍然有效,但单点登录、MFA“不挑战”和 Okta 会话创建不起作用。如果我取消选中设置,一切都会按预期进行。

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

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

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

我读到的一件事说用户必须与第 3 方站点“交互”.. 不完全确定“交互”是什么意思.. 似乎不仅仅是“重定向”站点。

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

Mee*_*ott -1

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

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