跳到主要内容

Just-in-Time 配置

在 Logto 中,Just-in-Time (JIT) 配置是一种用于在用户首次登录系统时动态分配组织成员身份和角色的过程。与预先为用户预配置账户不同,JIT 配置在用户认证时动态配置所需的用户账户。

工作原理

以下是 JIT 配置过程的高级概述:

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

以下是 JIT 配置的详细流程图:

JIT 配置是 B2B 和多租户产品的一个有用功能。它使租户成员的入驻变得顺畅,并且不需要行政干预。

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

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

目前,Logto 支持 SSO Just-in-Time 配置电子邮件域 Just-in-Time 配置

JIT 配置的好处

JIT 配置提供了几个好处:

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

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

JIT 和目录同步的区别

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

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

Logto 中的 Just-in-Time 配置

备注

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

企业 SSO 配置

如果你在 Logto 中设置了企业 SSO,可以选择你的组织企业 SSO 以启用 Just-in-Time 配置。

当满足以下条件之一时:

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

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

JIT SSO

电子邮件域配置

如果你的客户没有专用的企业 SSO,你仍然可以使用电子邮件域进行 Just-in-Time 配置。

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

JIT email

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

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

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

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

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

启用电子邮件域配置时的电子邮件登录体验

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

启用电子邮件域配置时的社交登录体验

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

处理 JIT 配置方法之间的潜在冲突

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

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

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

JIT conflict

默认组织角色

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