即時佈建 (Just-in-Time provisioning)
在 Logto 中,即時佈建 (Just-in-Time, JIT) provisioning 是一個過程,用於在使用者首次登入系統時即時分配組織成員資格和角色。與預先為使用者佈建帳戶不同,JIT 佈建在使用者驗證時動態配置必要的使用者帳戶。
運作方式
以下是 JIT 佈建過程的高階概述:
- 使用者驗證 (User authentication):使用者嘗試登入應用程式或服務,身分提供者 (Logto) 驗證使用者。
- 帳戶登入或創建:根據使用者的狀態,Logto 會登入使用者、創建新帳戶或將新身分新增到現有帳戶。
- 佈建 (Provisioning):如果使用者或其身分是新的,Logto 會觸發佈建過程。
以下是 JIT 佈建的詳細流程圖:
JIT 佈建對於 B2B 和多租戶產品非常有用。它使租戶成員的加入過程順暢,且不需要管理人員的參與。
例如,如果你已經接入了一家公司,並希望其員工能安全地登入你的產品並加入組織,獲得正確的角色存取權限,有多種方法可以實現。讓我們來探討 Logto 提供的可能解決方案以及 JIT 如何幫助。
情境 | 使用者類型 | 自動化 | 行為 |
---|---|---|---|
管理員邀請 | 新的和現有的 | 使用者可以 收到電子郵件邀請 加入組織。 | |
Management API 使用者創建或匯入 | 新的和現有的 | 使用者可以使用 預先創建的使用者帳戶 加入組織。 | |
SSO 即時佈建 | 新的和現有的 | ✅ | 使用 SSO 首次登入的使用者可以加入組織。 |
電子郵件網域即時佈建 | 新的 | ✅ | 使用特定已驗證網域首次登入的使用者可以加入組織。 |
目錄同步 | 新的和現有的 | ✅ | 使用 IdP 的目錄同步功能提前預佈建應用程式中的使用者。 |
目前,Logto 支援 SSO 即時佈建 和 電子郵件網域即時佈建。
JIT 佈建的優勢
JIT 佈建提供了多項優勢:
- 效率:減少手動創建和管理使用者帳戶的管理負擔。
- 可擴展性:自動處理大量使用者的帳戶創建,無需事先設置。
- 即時性:確保使用者一旦驗證成功即可存取資源,無需延遲。
我們已將 JIT 功能實現到最具可擴展性和安全性的層級,以簡化和加速你的佈建過程。然而,由於佈建系統可能會根據客戶的特定需求而變得複雜,因此結合 Logto 的預建 JIT 功能、你的精心系統設計和 Logto Management API 是至關重要的。這種整合方法將幫助你建立一個強大且高效的佈建系統。
JIT 與目錄同步的差異
- JIT 佈建 是由使用者發起的動作觸發,而 目錄同步 可以是使用者發起或系統發起(排程或即時)。
- JIT 佈建 不強制成員資格或角色分配,而 目錄同步 可以強制執行。
- JIT 佈建 更適合於不論使用者的身分來源如何的新使用者加入,而 目錄同步 更適合於管理使用者帳戶。
簡而言之,JIT 佈建是一種更靈活且使用者友好的使用者加入方法,因為它可以讓使用者自由加入或離開組織,並讓你自行處理現有使用者。
Logto 中的即時佈建
即時佈建 (JIT provisioning) 僅在使用者發起的動作中觸發,且不影響與 Logto Management API 的互動。
前往 控制台 > 組織。你可以在組織的詳細頁面中設置 JIT 佈建。
企業級 SSO 佈建
如果你在 Logto 中設置了 企業級 SSO,可以選擇你的組織企業級 SSO 來啟用即時佈建。
當滿足以下任一條件時:
- 新使用者透過企業級 SSO 登入;
- 現有使用者首次透過企業級 SSO 登入。
他們將自動加入組織並獲得預設的組織角色。

電子郵件網域佈建
如果你的客戶沒有專用的企業級 SSO,你仍然可以使用電子郵件網域進行即時佈建。
當使用者註冊時,如果其已驗證的電子郵件地址與組織層級配置的 JIT 電子郵件網域匹配,他們將被佈建到相應的組織並獲得相應的角色。

地址匹配可以識別來自所有非企業級 SSO 身分來源的已驗證電子郵件地址,包括:
為什麼電子郵件網域佈建不適用於現有使用者的登入過程?
現有使用者登入需要進一步控制,以確定他們是否可以被佈建到特定組織或授予角色。此過程是動態的,取決於具體的使用案例和業務需求,例如登入頻率和組織層級政策。
例如,如果你為現有使用者啟用了電子郵件網域佈建,並且稍後想要以不同角色接入另一組使用者,之前接入的使用者是否應被分配你設置的新角色?這為「即時更新」創造了一個複雜的場景。具體行為通常取決於應用程式和 IdP 整合的配置方式。我們將此控制權交給你,允許你自由設計佈建系統,並處理新帳戶創建和組織加入的最常見場景。
啟用電子郵件網域佈建時的電子郵件登入體驗
使用者狀態 | 描述 |
---|---|
使用者不存在並使用電子郵件註冊 | 使用者被創建並自動加入相應的組織,並獲得適當的角色。 |
使用者存在且已驗證的電子郵件地址與佈建的電子郵件網域相同 | 正常的電子郵件登入體驗。 |
啟用電子郵件網域佈建時的社交登入體驗
使用者狀態 | 描述 |
---|---|
使用者不存在,使用已驗證的電子郵件進行社交帳戶註冊 | 使用者被創建並自動加入相應的組織,並獲得適當的角色。 |
使用者不存在,使用未驗證的電子郵件或無電子郵件進行社交帳戶註冊 | 正常的社交註冊體驗。 |
使用者存在且已驗證的電子郵件地址與佈建的電子郵件網域相同,透過新社交身分登入 | 正常的社交登入體驗。 |
處理 JIT 佈建方法之間的潛在衝突
如果你最初設置了電子郵件網域佈建,然後配置了具有相同電子郵件網域的企業級 SSO,則會發生以下情況:
當使用者輸入其電子郵件地址時,他們將被重定向到 SSO 身分提供者,繞過電子郵件驗證。這意味著電子郵件網域佈建不會被觸發。
為了解決這個問題,我們在配置時會顯示警告訊息。確保你通過選擇正確的 SSO 連接器來啟用企業級 SSO 佈建,而不依賴於電子郵件網域佈建。

預設組織角色
在組織中佈建使用者時,你可以設置他們的預設組織角色。角色列表來自 組織範本,你可以選擇一個角色或留空。