跳至主要內容

即時佈建 (Just-in-Time provisioning)

在 Logto 中,即時佈建 (Just-in-Time, JIT) provisioning 是一個過程,用於在使用者首次登入系統時即時分配組織成員資格和角色。與預先為使用者佈建帳戶不同,JIT 佈建在使用者驗證時動態配置必要的使用者帳戶。

運作方式

以下是 JIT 佈建過程的高階概述:

  1. 使用者驗證 (User authentication):使用者嘗試登入應用程式或服務,身分提供者 (Logto) 驗證使用者。
  2. 帳戶登入或創建:根據使用者的狀態,Logto 會登入使用者、創建新帳戶或將新身分新增到現有帳戶。
  3. 佈建 (Provisioning):如果使用者或其身分是新的,Logto 會觸發佈建過程。

以下是 JIT 佈建的詳細流程圖:

JIT 佈建對於 B2B 和多租戶產品非常有用。它使租戶成員的加入過程順暢,且不需要管理人員的參與。

例如,如果你已經接入了一家公司,並希望其員工能安全地登入你的產品並加入組織,獲得正確的角色存取權限,有多種方法可以實現。讓我們來探討 Logto 提供的可能解決方案以及 JIT 如何幫助。

情境使用者類型自動化行為
管理員邀請新的和現有的使用者可以 收到電子郵件邀請 加入組織。
Management API 使用者創建或匯入新的和現有的使用者可以使用 預先創建的使用者帳戶 加入組織。
SSO 即時佈建新的和現有的使用 SSO 首次登入的使用者可以加入組織。
電子郵件網域即時佈建新的使用特定已驗證網域首次登入的使用者可以加入組織。
目錄同步新的和現有的使用 IdP 的目錄同步功能提前預佈建應用程式中的使用者。

目前,Logto 支援 SSO 即時佈建電子郵件網域即時佈建

JIT 佈建的優勢

JIT 佈建提供了多項優勢:

  1. 效率:減少手動創建和管理使用者帳戶的管理負擔。
  2. 可擴展性:自動處理大量使用者的帳戶創建,無需事先設置。
  3. 即時性:確保使用者一旦驗證成功即可存取資源,無需延遲。

我們已將 JIT 功能實現到最具可擴展性和安全性的層級,以簡化和加速你的佈建過程。然而,由於佈建系統可能會根據客戶的特定需求而變得複雜,因此結合 Logto 的預建 JIT 功能、你的精心系統設計和 Logto Management API 是至關重要的。這種整合方法將幫助你建立一個強大且高效的佈建系統。

JIT 與目錄同步的差異

  • JIT 佈建 是由使用者發起的動作觸發,而 目錄同步 可以是使用者發起或系統發起(排程或即時)。
  • JIT 佈建 不強制成員資格或角色分配,而 目錄同步 可以強制執行。
  • JIT 佈建 更適合於不論使用者的身分來源如何的新使用者加入,而 目錄同步 更適合於管理使用者帳戶。

簡而言之,JIT 佈建是一種更靈活且使用者友好的使用者加入方法,因為它可以讓使用者自由加入或離開組織,並讓你自行處理現有使用者。

Logto 中的即時佈建

備註:

即時佈建 (JIT provisioning) 僅在使用者發起的動作中觸發,且不影響與 Logto Management API 的互動。

前往 控制台 > 組織。你可以在組織的詳細頁面中設置 JIT 佈建。

企業級 SSO 佈建

如果你在 Logto 中設置了 企業級 SSO,可以選擇你的組織企業級 SSO 來啟用即時佈建。

當滿足以下任一條件時:

  • 新使用者透過企業級 SSO 登入;
  • 現有使用者首次透過企業級 SSO 登入。

他們將自動加入組織並獲得預設的組織角色。

JIT SSO

電子郵件網域佈建

如果你的客戶沒有專用的企業級 SSO,你仍然可以使用電子郵件網域進行即時佈建。

當使用者註冊時,如果其已驗證的電子郵件地址與組織層級配置的 JIT 電子郵件網域匹配,他們將被佈建到相應的組織並獲得相應的角色。

JIT email

地址匹配可以識別來自所有非企業級 SSO 身分來源的已驗證電子郵件地址,包括:

  1. 電子郵件註冊 驗證
  2. 社交註冊 驗證
備註:

為什麼電子郵件網域佈建不適用於現有使用者的登入過程?

現有使用者登入需要進一步控制,以確定他們是否可以被佈建到特定組織或授予角色。此過程是動態的,取決於具體的使用案例和業務需求,例如登入頻率和組織層級政策。

例如,如果你為現有使用者啟用了電子郵件網域佈建,並且稍後想要以不同角色接入另一組使用者,之前接入的使用者是否應被分配你設置的新角色?這為「即時更新」創造了一個複雜的場景。具體行為通常取決於應用程式和 IdP 整合的配置方式。我們將此控制權交給你,允許你自由設計佈建系統,並處理新帳戶創建和組織加入的最常見場景。

啟用電子郵件網域佈建時的電子郵件登入體驗

使用者狀態描述
使用者不存在並使用電子郵件註冊使用者被創建並自動加入相應的組織,並獲得適當的角色。
使用者存在且已驗證的電子郵件地址與佈建的電子郵件網域相同正常的電子郵件登入體驗。

啟用電子郵件網域佈建時的社交登入體驗

使用者狀態描述
使用者不存在,使用已驗證的電子郵件進行社交帳戶註冊使用者被創建並自動加入相應的組織,並獲得適當的角色。
使用者不存在,使用未驗證的電子郵件或無電子郵件進行社交帳戶註冊正常的社交註冊體驗。
使用者存在且已驗證的電子郵件地址與佈建的電子郵件網域相同,透過新社交身分登入正常的社交登入體驗。

處理 JIT 佈建方法之間的潛在衝突

如果你最初設置了電子郵件網域佈建,然後配置了具有相同電子郵件網域的企業級 SSO,則會發生以下情況:

當使用者輸入其電子郵件地址時,他們將被重定向到 SSO 身分提供者,繞過電子郵件驗證。這意味著電子郵件網域佈建不會被觸發。

為了解決這個問題,我們在配置時會顯示警告訊息。確保你通過選擇正確的 SSO 連接器來啟用企業級 SSO 佈建,而不依賴於電子郵件網域佈建。

JIT conflict

預設組織角色

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

了解即時佈建