跳至主要內容

設定 OpenID Connect (OIDC) 單一登入 (SSO)

只需極少設定,即可透過此連接器整合任何基於 OIDC 的身分提供者 (IdP, Identity Provider)。

提示:

如需更多關於單一登入 (SSO) 的資訊以及如何在 Logto 中配置 SSO,請參閱 企業級單一登入 (Enterprise SSO) (SAML & OIDC) 文件以開始使用。

步驟 1:在你的 IdP 上建立 OIDC 應用程式

開始 OIDC 單一登入 (SSO) 整合,首先在身分提供者 (IdP) 端創建一個應用程式。你需要提供以下來自 Logto 伺服器的配置。

  • Callback URI:Logto 的 Callback URI,也稱為 Redirect URI 或 Reply URL,是 IdP 在成功驗證後用來重定向使用者瀏覽器的特定端點或 URL。當使用者成功通過 IdP 驗證後,IdP 會將使用者瀏覽器重定向回這個指定的 URI,並附帶授權碼。Logto 將根據從此 URI 接收到的授權碼完成驗證流程。

在你的 IdP OIDC 應用程式設定表單中填入 Logto Callback URI,然後繼續創建應用程式。(大多數 OIDC IdP 提供多種應用程式類型可供選擇。若要在 Logto 上創建基於網頁的 SSO 連接器,請選擇 Web Application 類型。)

步驟 2:在 Logto 上設定 OIDC 單一登入 (SSO)

在 IdP 端成功建立 OIDC 應用程式後,你需要將 IdP 的相關設定資訊回填至 Logto。請前往 Connection 分頁,並填寫以下設定:

  • Client ID:由 IdP 指派給你的 OIDC 應用程式的唯一識別碼。Logto 會利用此識別碼在 OIDC 流程中識別並驗證應用程式身分。
  • Client Secret:Logto 與 IdP 之間共用的機密金鑰。此金鑰用於驗證 OIDC 應用程式,並保障 Logto 與 IdP 之間的通訊安全。
  • 簽發者 (Issuer):簽發者 URL,是 IdP 的唯一識別符,指定 OIDC 身分提供者的位置。這是 OIDC 設定中極為重要的一環,協助 Logto 發現所需的端點。 為了讓設定流程更簡便,Logto 會自動擷取所需的 OIDC 端點與設定。這是透過你所提供的簽發者 (Issuer) 進行,並呼叫 IdP 的 OIDC 探索端點 (discover endpoints) 來完成。請務必確保簽發者端點正確有效,才能讓 Logto 正確取得所需資訊。 擷取成功後,你應該可以在 issuers 區段看到解析後的 IdP 設定資訊。

步驟 3:設定權限範圍 (Scopes)(選填)

權限範圍 (Scopes) 定義了你的應用程式向使用者請求哪些權限,並控制你的應用程式能從他們的企業帳號存取哪些資料。

設定權限範圍 (Scopes) 需要雙方配置:

  1. 你的身分提供者 (IdP, Identity Provider):在 IdP 控制台設定哪些權限允許授權
    • 有些 IdP 預設啟用所有公開權限範圍(無需額外操作)
    • 其他則需要你明確授予權限
  2. Logto 企業連接器 (enterprise connector):在 Logto OIDC 企業連接器設定 > Scopes 欄位中指定驗證時要請求哪些權限範圍。
    • Logto 無論你的自訂權限範圍設定為何,始終會包含 openidprofileemail 權限範圍,以取得基本使用者身分資訊。
    • 你可以額外新增其他權限範圍(以空格分隔),以向 IdP 請求更多資訊。
提示:

如果你的應用程式需要使用這些權限範圍存取 API,請務必在 Logto 企業連接器中啟用 儲存權杖以持續存取 API(Store tokens for persistent API access)。詳情請參閱下一節。

步驟 4:儲存權杖以存取第三方 API(選填)

如果你想存取身分提供者 (Identity Provider, IdP) 的 API 並以使用者授權執行操作,Logto 需要取得特定的 API 權限範圍 (Scopes) 並儲存權杖 (Tokens)。

  1. 依照上述說明,在 scope 欄位中新增所需的權限範圍 (Scopes)
  2. 在 Logto OIDC 企業連接器 (Enterprise connector) 中啟用 為持久性 API 存取儲存權杖 (Store tokens for persistent API access)。Logto 會將存取權杖 (Access tokens) 安全地儲存在 Secret Vault。
  3. 對於 標準 OIDC 身分提供者 (Identity provider),必須包含 offline_access 權限範圍 (Scope) 以取得重新整理權杖 (Refresh token),避免重複要求使用者同意。

步驟 5:設定電子郵件網域並啟用 SSO 連接器

在 Logto 的連接器 SSO 使用體驗 (SSO experience) 分頁中,提供你組織的 電子郵件網域 (email domains)。這將使 SSO 連接器成為這些使用者的驗證 (Authentication) 方法。

擁有指定網域電子郵件地址的使用者,將會被導向使用你的 SSO 連接器作為唯一的驗證 (Authentication) 方法。