跳到主要内容

即时 (Just-in-Time) 供应

在 Logto 中,即时 (Just-in-Time, JIT) 供应 是一种在用户首次登录系统时动态分配组织成员资格和角色的过程。与其提前为用户预先配置账户,不如在用户认证 (Authentication) 时动态配置所需的用户账户。

工作原理

以下是 JIT 供应过程的高级概述:

  1. 用户认证 (Authentication):用户尝试登录应用程序或服务,身份提供商 (Logto) 对用户进行认证 (Authentication)。
  2. 账户登录或创建:根据用户的状态,Logto 要么登录用户,要么创建新账户,或将新身份添加到现有账户。
  3. 供应:如果用户或其身份是新的,Logto 会触发供应过程。

以下是 JIT 供应的详细流程图:

JIT 供应是 B2B 和多租户产品的一个有用功能。它使租户成员的入驻变得顺畅,无需行政干预。

例如,如果你已经入驻了一家公司,并希望其员工安全地登录到你的产品并以正确的角色访问组织,有几种方法可以实现这一点。让我们来探讨 Logto 提供的可能解决方案以及 JIT 如何提供帮助。

场景用户类型自动化行为
管理员邀请新用户和现有用户用户可以收到电子邮件邀请加入组织。
Management API 用户创建或导入新用户和现有用户用户可以使用预先创建的用户账户加入组织。
SSO 即时供应新用户和现有用户首次通过 SSO 登录的用户可以加入组织。
电子邮件域即时供应新用户首次登录的特定验证域的用户可以加入组织。
目录同步新用户和现有用户使用 IdP 的目录同步功能提前在应用中预先配置用户。

目前,Logto 支持 SSO 即时供应电子邮件域即时供应

JIT 供应的好处

JIT 供应提供了几个好处:

  1. 效率:减少手动创建和管理用户账户的行政负担。
  2. 可扩展性:无需事先设置即可自动处理大量用户的账户创建。
  3. 实时性:确保用户在认证 (Authentication) 后立即访问资源,无需延迟。

我们已将 JIT 功能实现到最具可扩展性和安全性的水平,以简化和加速你的供应过程。然而,由于供应系统可能复杂且需要根据客户的具体需求进行定制,因此结合 Logto 的预构建 JIT 功能、你精心设计的系统以及 Logto Management API 是至关重要的。这种集成方法将帮助你构建一个强大而高效的供应系统。

JIT 与目录同步的区别

  • JIT 供应 是由用户发起的操作触发的,而 目录同步 可以是用户发起的,也可以是系统发起的(计划或实时)。
  • JIT 供应 不强制执行成员资格或角色分配,而 目录同步 可以强制执行。
  • JIT 供应 更适合于无论用户的身份来源如何的新用户入驻,而 目录同步 更适合于管理用户账户。

简而言之,JIT 供应是一种更灵活和用户友好的用户入驻方法,因为它可以让用户自由加入或离开组织,并让你根据需要处理现有用户。

Logto 中的即时供应

备注

即时 (Just-in-Time, JIT) 供应仅对用户发起的操作触发,不影响与 Logto Management API 的交互。

导航到 控制台 > 组织。你可以在组织的详细信息页面中设置 JIT 供应。

企业 SSO 供应

如果你在 Logto 中设置了 企业 SSO,你可以选择你的组织企业 SSO 以启用即时供应。

当满足以下条件之一时:

  • 新用户通过企业 SSO 登录;
  • 现有用户首次通过企业 SSO 登录。

他们将自动加入组织并获得默认的组织角色。

JIT SSO

电子邮件域供应

如果你的客户没有专用的企业 SSO,你仍然可以使用电子邮件域进行即时供应。

当用户注册时,如果其验证的电子邮件地址与组织级别配置的 JIT 电子邮件域匹配,他们将被配置到相应的组织中,并获得相应的角色。

JIT email

地址匹配可以识别来自所有非企业 SSO 身份来源的验证电子邮件地址,包括:

  1. 电子邮件注册认证 (Authentication)
  2. 社交注册认证 (Authentication)
备注

为什么电子邮件域供应不适用于现有用户的登录过程?

现有用户登录需要进一步控制,以确定他们是否可以被配置到特定组织或授予角色。这个过程是动态的,取决于具体的用例和业务需求,例如登录频率和组织级别的策略。

例如,如果你为现有用户启用了电子邮件域供应,并且后来想要以不同的角色入驻另一组用户,之前入驻的用户是否应该被分配你设置的新角色?这为“即时更新”创造了一个复杂的场景。确切的行为通常取决于应用程序和 IdP 集成的配置方式。我们将此控制权交给你,让你可以自由设计你的供应系统,并处理新账户创建和组织入驻的最常见场景。

启用电子邮件域供应时的电子邮件登录体验

用户状态描述
用户不存在并通过电子邮件注册用户被创建并自动加入相应的组织,具有适当的角色。
用户存在且验证的电子邮件地址与配置的电子邮件域匹配正常的电子邮件登录体验。

启用电子邮件域供应时的社交登录体验

用户状态描述
用户不存在,通过社交账户使用验证的电子邮件注册用户被创建并自动加入相应的组织,具有适当的角色。
用户不存在,通过社交账户使用未验证的电子邮件或没有电子邮件注册正常的社交注册体验。
用户存在且验证的电子邮件地址与配置的电子邮件域匹配,通过新的社交身份登录正常的社交登录体验。

处理 JIT 供应方法之间的潜在冲突

如果你最初设置了电子邮件域供应,然后配置了具有相同电子邮件域的企业 SSO,会发生以下情况:

当用户输入他们的电子邮件地址时,他们将被重定向到 SSO 身份提供商,绕过电子邮件认证 (Authentication)。这意味着电子邮件域供应不会被触发。

为了解决这个问题,我们将在配置时显示警告信息。确保你通过选择正确的 SSO 连接器来启用企业 SSO 供应,而不是依赖电子邮件域供应。

JIT conflict

默认组织角色

在组织中配置用户时,你可以设置他们的默认组织角色。角色列表来自 组织模板,你可以选择一个角色或将其留空。