即时 (Just-in-Time) 供应
在 Logto 中,即时 (Just-in-Time, JIT) 供应 是一种在用户首次登录系统时动态分配组织成员资格和角色的过程。与其提前为用户预先配置账户,不如在用户认证 (Authentication) 时动态配置所需的用户账户。
工作原理
以下是 JIT 供应过程的高级概述:
- 用户认证 (Authentication):用户尝试登录应用程序或服务,身份提供商 (Logto) 对用户进行认证 (Authentication)。
- 账户登录或创建:根据用户的状态,Logto 要么登录用户,要么创建新账户,或将新身份添加到现有账户。
- 供应:如果用户或其身份是新的,Logto 会触发供应过程。
以下是 JIT 供应的详细流程图:
JIT 供应是 B2B 和多租户产品的一个有用功能。它使租户成员的入驻变得顺畅,无需行政干预。
例如,如果你已经入驻了一家公司,并希望其员工安全地登录到你的产品并以正确的角色访问组织,有几种方法可以实现这一点。让我们来探讨 Logto 提供的可能解决方案以及 JIT 如何提供帮助。
场景 | 用户类型 | 自动化 | 行为 |
---|---|---|---|
管理员邀请 | 新用户和现有用户 | 用户可以收到电子邮件邀请加入组织。 | |
Management API 用户创建或导入 | 新用户和现有用户 | 用户可以使 用预先创建的用户账户加入组织。 | |
SSO 即时供应 | 新用户和现有用户 | ✅ | 首次通过 SSO 登录的用户可以加入组织。 |
电子邮件域即时供应 | 新用户 | ✅ | 首次登录的特定验证域的用户可以加入组织。 |
目录同步 | 新用户和现有用户 | ✅ | 使用 IdP 的目录同步功能提前在应用中预先配置用户。 |
目前,Logto 支持 SSO 即时供应 和 电子邮件域即时供应。
JIT 供应的好处
JIT 供应提供了几个好处:
- 效率:减少手动创建和管理用户账户的行政负担。
- 可扩展性:无需事先设置即可自动处理大量用户的账户创建。
- 实时性:确保用户在认证 (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 登录。
他们将自动加入组织并获得默认的组织角色。
电子邮件域供应
如果你的客户没有专用的企业 SSO,你仍然可以使用电子邮件域进行即时供应。
当用户注册时,如果其验证的电子邮件地址与组织级别配置的 JIT 电子邮件域匹配,他们将被配置到相应的组织中,并获得相应的角色。
地址匹配可以识别来自所有非企业 SSO 身份来源的验证电子邮件地址,包括:
为什么电子邮件域供应不适用于现有用户的登录过程?
现有用户登录需要进一步控制,以确定他们是否可以被配置到特定组织或授予角色。这个过程是动态的,取决于具体的用例和业务需求,例如登录频率和组织级别的策略。
例如,如果你为现有用户启用了电子邮件域供应,并且后来想要以不同的角色入驻另一组用户,之前入驻的用户是否应该被分配你设置的新角色?这为“即时更新”创造了一个复杂的场景。确切的行为通常取决于应用程序和 IdP 集成的配置方式。我们将此控制权交给你,让你可以自由设计你的供应系统,并处理新账户创建和组织入驻的最常见场景。