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

标签 okta okta-api

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

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

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

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

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

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

最佳答案

似乎解决它的唯一方法是将自定义域应用于您的 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=en_US

关于okta - Safari 的 "Prevent cross-site tracking"破坏了几个 Okta 功能(由于未创建 okta session ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633845/

相关文章:

single-sign-on - 有没有人成功地将 Okta 与 GitLab 集成?

Okta SCIM 通过 PUT 方法取消配置?

node.js - 使用 Okta OIDC 中间件时获取 "Error: state mismatch, could not find a state in the session"

使用 SAML 的 Okta 登录小部件

command-line - 身份验证 : How to configure git bash to use SAML authentication?

OKTA 登录小部件 MFA

angular - 没有 OktaAuth 的提供者但 OktaAuth 定义?

node.js - 有没有办法检查是否刚刚使用 Okta 身份验证 API 创建了新帐户?