2 个应用程序之间的 Okta SSO w/o 用户必须了解 Okta

Okta SSO between 2 apps w/o user having to know about Okta

背景

我们有两个应用程序,应用程序 A 和应用程序 B。我正在研究将应用程序相互连接的 POC。

作为背景,IT 部门希望以某种方式使用 Okta。我对 Okta 的体验一直是因为 IDP 和 SSO 是通过正常的 SAML 或 OIDC 工作流程完成的。但这需要用户了解 Okta 并登录 Okta。此设置适用于通过 Okta 管理用户的公司。

期望的用户体验

我们正在寻找的 UX 涉及使用全新浏览器(任何地方都没有 cookie)登录应用程序 A,然后能够在应用程序 A 中单击 link 并最终进入应用程序 B 的用户经过身份验证,而无需查看 Okta 页面(但是,通过 Okta URL 进行重定向就可以了)。我们还想支持相反的情况(应用程序 B 将经过身份验证的用户发送到应用程序 A)。应用程序之间有一个共同约定,即双方的用户电子邮件地址将相同。

显然,我们可以直接在这些应用程序之间创建某种形式的 SSO,但 IT 想要管理我们在 Okta 中使用的任何身份验证连接(出于安全等原因)。

在不知道前进方向的情况下,我的直觉告诉我,我们需要使用 Okta 作为 IDP,但我们需要使用某种 Okta SCIM API 在 Okta 中注册用户,在我们将它们从应用程序 A 发送到应用程序 B 之前的某个时刻。这是正确的吗?如果是这样,是否也可以对用户进行身份验证,以便他们不必登录 Okta 即可通过应用程序 B 的身份验证?这是完全错误的吗?这是否基本上要求我们让 App A 和 App B 既是身份提供者又是消费者?或者对于这种情况是否有某种更好/更简单的工作流程?

如果您使用的是 Okta 小部件或 Okta API,则可以执行 Okta 登录 w/o 重定向到 Okta。那么您不需要向您的用户展示任何 Okta UI。只有一件事,确保 Okta cookie 与这些请求一起发送,以便 Okta 知道您已经有一个会话。

您只需分别为应用 A 和应用 B 实施 SSO。 A 和 B 将与 IdP 共享同一个 Okta 租户。