跳到主要内容

即时 (Just-in-Time, JIT) 供应

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

工作原理

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

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

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

JIT 供应对于 B2B 和多租户产品非常有用。它让租户成员的入驻变得顺畅,无需管理员参与。

例如,如果你已为某企业开通服务,并希望其员工能够安全地登录你的产品并以正确的角色加入组织,有多种方式可以实现。让我们来看看 Logto 提供的可能方案,以及 JIT 如何帮助你。

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

目前,Logto 支持 SSO 即时 (JIT) 供应邮箱域名即时 (JIT) 供应

JIT 供应的优势

JIT 供应带来多项优势:

  1. 高效:减少手动创建和管理用户账户的管理负担。
  2. 可扩展性:无需提前设置即可自动处理大量用户的账户创建。
  3. 实时性:确保用户在认证 (Authentication) 后即可访问资源,无需等待。

我们已将 JIT 功能实现到最具可扩展性和安全性的层级,以简化并加速你的供应流程。但由于供应系统可能很复杂且需针对客户的具体需求定制,建议结合 Logto 的内置 JIT 功能、你精心设计的系统架构以及 Logto Management API。通过这种集成方式,你可以构建一个健壮高效的供应系统。

JIT 与目录同步的区别

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

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

Logto 中的即时 (JIT) 供应

备注:

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

进入 控制台 > 组织 (Organizations)。你可以在组织详情页设置 JIT 供应。

企业 SSO 供应

如果你在 Logto 中配置了 企业单点登录 (SSO),可以选择组织的企业 SSO 来启用即时 (JIT) 供应。

当满足以下任一条件时:

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

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

JIT SSO

邮箱域名供应

如果你的客户没有专用的企业 SSO,你仍然可以使用邮箱域名进行即时 (JIT) 供应。

当用户注册时,如果其已验证的邮箱地址与组织层级配置的 JIT 邮箱域名匹配,他们将被供应到相应的组织并分配对应角色。

JIT email

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

  1. 邮箱注册 认证 (Authentication)
  2. 社交注册 认证 (Authentication)
备注:

为什么邮箱域名供应不适用于现有用户登录流程?

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

例如,如果你为现有用户启用了邮箱域名供应,之后又想为另一组用户分配不同角色,那么之前已入驻的用户是否应该被分配你新设置的角色?这就产生了“即时 (JIT) 更新”的复杂场景。具体行为通常取决于应用和 IdP 集成的配置方式。我们将这部分控制权交给你,让你可以自由设计供应系统,并优先处理新账户创建和组织入驻的常见场景。

启用邮箱域名供应时的邮箱登录体验

用户状态描述
用户不存在并使用邮箱注册用户被创建并自动加入对应组织并分配合适角色。
用户已存在,且邮箱与供应域名一致正常邮箱登录体验。

启用邮箱域名供应时的社交登录体验

用户状态描述
用户不存在,使用已验证邮箱的社交账户注册用户被创建并自动加入对应组织并分配合适角色。
用户不存在,使用未验证邮箱或无邮箱的社交账户注册正常社交注册体验。
用户已存在,且邮箱与供应域名一致,通过新社交身份登录正常社交登录体验。

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

如果你最初设置了邮箱域名供应,之后又配置了与该邮箱域名相同的企业 SSO,会发生如下情况:

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

为了解决这个问题,我们会在配置时显示警告信息。请确保通过选择正确的 SSO 连接器来启用企业 SSO 供应,不要依赖邮箱域名供应。

JIT conflict

默认组织角色

为组织中的用户进行供应时,你可以设置他们的默认组织角色。角色列表来自 组织模板,你可以选择一个角色或留空。

了解即时 (JIT) 供应