OneLogin SAML 和用户配置文件拉取 - 无需登录页面

OneLogin SAML and User Profile Pull - No Login Page Needed

专家!

我创建了一个带有两个 API 的 Node.JS 网络应用程序。 API 之一是最终用户看到 GUI 的 GUI。第二个 API 是 auth 守卫,它将使用 OPENID > 身份验证 > 获取用户配置文件与 1L 交谈,并将信息呈现给最终用户的 GUI。

我们最初想使用类似于 Zendesk 或其他人的 SAML 断言 (SSO),当某人通过 1L 身份验证并且您导航到该站点时 domain.zendesk.com 已建立的登录令牌只会将您重定向到该站点。当您未登录到 1L 并转到该站点时,您将被重定向到 1L 进行身份验证,然后在您成功进行身份验证后重定向回所选站点。

我们的应用程序没有用户数据库,相反,我们依靠 1L 为我们进行身份验证,并将用户信息传递给我们的第二个 API,这样我们就可以通过特定的最终用户从内部到 GUI 的详细信息。最终目标是能够使用 1L 进行身份验证并重定向到 sales.cbac.com 并能够了解有关当前用户的用户特定详细信息,但该用户永远不必访问登录页面

现在,我们必须启动一个登录页面,该页面将接受用户信息 > 将信息发送到 auth guard 以调用 1L auth > returns 有效的用户和用户个人资料信息 > 全部使用 OPENID。

最好的方法是什么?好像少了什么。

API URL1 (GUI) - sales.cbac.com API URL2(auth guards - OPENID)- sales-api.cbac.com 您登陆的当前状态 sales.cbac.com > 显示登录页面 > 身份验证然后定向到站点

最好的方法是考虑对 OpenID Connect 的支持。您的 GUI node.js 页面请求身份验证并从 Onelogin 接收 OpenID Connect 令牌 (id_token)。有关如何执行此操作的信息,请参阅标准 Onelogin 文档

然后您可以使用返回的 id_token,其中包含基本用户信息来对您的 API 进行经过身份验证的调用,您的 API 负责验证和验证发出的 Onelogin令牌。您可以选择是否为您的 GUI 和 API 保留相同的受众,或者是否在 Onelogin 中为您的 GUI 和 API 创建特定的应用程序,每个应用程序都有一个单独的 aud(受众)值.