跳至主要內容

設定 Okta 單一登入 (SSO)

只需極少設定,即可透過此連接器整合 Okta 企業級單一登入 (SSO)。

提示:

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

步驟 1:在 Okta 管理後台建立 OIDC 應用程式

  • 訪問 Okta 管理員入口網站並以管理員身分登入。
  • 使用側邊選單導航至 Applications/Applications 頁面。
  • 點擊 Create App Integration 按鈕以建立新的 OIDC 應用程式。
  • 選擇 OIDC - OpenID Connect 選項作為 Sign-in method
  • 選擇 Web Application 選項作為 Application type
Okta create application

點擊 Next 按鈕繼續。

步驟 2:設定應用程式資訊

  1. 提供一個 App integration name。這將用作你的 OIDC 應用程式的識別符。
  2. 使用 Logto SSO 連接器的回呼 URL 新增一個新的 Sign-in redirect URIs

這是 Okta 在成功驗證後將使用者的瀏覽器重定向的 URI。當使用者成功通過身分提供者 (IdP) 驗證後,IdP 會將使用者的瀏覽器重定向回這個指定的 URI,並附帶授權碼。Logto 將根據從此 URI 接收到的授權碼完成驗證過程。

Okta application settings
  1. 將使用者指派給應用程式。

根據 Assignments 設定,你可以選擇將應用程式指派給所有使用者或特定使用者/群組。

Okta assign users

點擊 Save 按鈕以保存應用程式設定。

步驟 3:使用用戶端憑證設定 Logto 連接器

成功建立 OIDC 應用程式後,你將被重定向至應用程式詳細資訊頁面。

Okta client credentials

複製 client IDclient secret,並填入 Logto SSO 連接器 Connection 標籤中的對應欄位。

使用你的 Okta 網域作為 簽發者 (issuer)。例如:https://dev-12345678.okta.com。填寫完所有欄位後,點擊 Save 按鈕以儲存連接器設定。

如果你提供的 簽發者 (issuer) 連結有效,你將會看到在 簽發者 (issuer) 欄位下方顯示的 Okta IdP 配置的完整解析列表。

步驟 4:額外權限範圍(選填)

權限範圍 (Scopes) 定義你的應用程式向使用者請求的權限,並控制你的應用程式能從他們的 Okta 帳戶存取哪些資料。請求額外的 Okta 權限需要雙方進行設定:

在 Okta 管理主控台:

  1. 前往 Applications > Applications 並選擇你的 OIDC 應用程式。
  2. 進入 Assignments 分頁,確保你的應用程式已獲得所需使用者與群組的存取權。
  3. 若需自訂權限範圍,請前往 Security > API > Authorization Servers 並選擇你的授權伺服器。
  4. 如有需要,新增自訂權限範圍:
    • 點擊 Scopes,然後選擇 Add Scope
    • 定義權限範圍名稱,例如 okta.users.readokta.groups.read 以存取 Okta API
    • 為每個權限範圍設定同意需求

完整可用權限範圍及其說明,請參閱 Okta OIDC 文件

在 Logto Okta 連接器 (Connector):

  1. Logto 會自動包含 openidprofileemail 權限範圍,以取得基本使用者身分資訊。若只需基本資訊,可將 Scopes 欄位留空。
  2. 若計畫儲存權杖以持續存取 API,請在 Scopes 欄位加入 offline_access。此權限範圍可啟用重新整理權杖 (Refresh tokens) 以長時間存取 API。
  3. 若需從 Okta 請求更多資料,請在 Scopes 欄位加入其他權限範圍(以空格分隔)。例如:okta.users.read okta.groups.read
提示:

如果你的應用程式請求這些權限範圍以存取 Okta API 並執行操作,請務必在 Logto Okta 連接器 (Connector) 中啟用 儲存權杖以持續存取 API(Store tokens for persistent API access)。詳情請見下一節。

步驟 5:儲存權杖以存取 Okta API(選填)

如果你想存取 Okta 權限範圍 (scopes) 並以使用者授權執行操作,Logto 需要取得特定權限範圍 (Scopes) 並儲存權杖 (Tokens)。

  1. 在 Okta 開發者主控台的 API 權限設定與 Logto Okta 連接器 (Connector) 中新增所需的權限範圍 (Scopes)。
  2. 在 Logto Okta 連接器中啟用 儲存權杖以持久存取 API(Store tokens for persistent API access)。Logto 會將 Okta 存取權杖 (Access tokens) 與重新整理權杖 (Refresh tokens) 安全地儲存在 Secret Vault。
  3. 為確保能取得重新整理權杖 (Refresh tokens),請在 Okta 應用程式權限中新增 offline_access 權限範圍 (Scope),並將其包含於 Logto Okta 連接器的權限範圍 (Scopes) 中。此權限範圍 (Scope) 可讓你的應用程式長時間維持對資源的存取權限。

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

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

擁有指定網域電子郵件地址的使用者,將被導向僅能使用你的 SSO 連接器進行驗證 (Authentication)。

如需更多關於與 Okta 建立 OIDC 整合的細節,請參閱 建立 OIDC 應用程式整合 (Create OIDC App Integrations)