跳至主要內容

設定 Microsoft Entra ID 單一登入 (SSO, Single Sign-On)

只需極少設定,即可透過此連接器整合 Microsoft Entra ID(前稱 Azure AD)以實現企業級單一登入 (SSO)。

提示:

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

步驟 1:建立 Microsoft EntraID OIDC 應用程式

  1. 前往 Microsoft Entra 管理中心 並以管理員身分登入。

  2. 瀏覽至 Identity > Applications > App registrations。

Create Application
  1. 選擇 New registration

  2. 輸入應用程式名稱,並選擇適合你的應用程式的帳戶類型。

  3. 選擇 Web 作為應用程式平台。

  4. 從 Logto 的 SSO 設定頁面複製並貼上 redirect URIredirect URI 是使用者在 Microsoft Entra ID 驗證後被重定向的 URL。

Configure Application
  1. 點擊 Register 以建立應用程式。

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

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

  1. Client ID:由 Microsoft Entra 指派給你的 OIDC 應用程式的唯一識別碼。Logto 會利用此識別碼在 OIDC 流程中識別並驗證應用程式。你可以在應用程式總覽頁面找到,標示為 Application (client) ID
Application Details
  1. Client Secret:建立新的 client secret,並將其值複製到 Logto。此 secret 用於驗證 OIDC 應用程式,並保障 Logto 與 IdP 之間的通訊安全。
Create Secret
  1. 簽發者 (Issuer):簽發者 URL,是 IdP 的唯一識別符,指定 OIDC 身分提供者的位置。這是 OIDC 設定中極為重要的一環,協助 Logto 發現所需的端點。

    無需手動填寫所有 OIDC 端點,Logto 會自動根據你提供的簽發者 url 取得所有必要設定與 IdP 端點。這是透過呼叫 IdP 的 discover 端點來完成的。

    你可以在應用程式總覽頁面的 Endpoints 區段找到簽發者 URL。

    找到 OpenID Connect metadata document 端點,並複製該 URL,不要包含最後的 .well-known/openid-configuration 路徑。因為 Logto 會在取得 OIDC 設定時自動加上 .well-known/openid-configuration

Endpoints
  1. 權限範圍 (Scope)(選填):Logto 會自動在所有請求中包含必要的權限範圍(openidprofileemail)。如果你的應用程式需要從 IdP 取得額外權限或存取層級,可以以空格分隔的方式指定其他權限範圍。

點擊 Save 完成設定流程

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

Scopes(權限範圍)定義你的應用程式向使用者請求的權限,並控制你的應用程式能從他們的 Microsoft Entra ID 帳戶存取哪些資料。請求 Microsoft Graph 權限需在兩端進行設定:

在 Microsoft Entra 管理中心:

  1. 前往 Microsoft Entra ID > App registrations 並選擇你的應用程式。
  2. 進入 API permissions > Add a permission > Microsoft Graph > Delegated permissions
  3. 僅選擇你的應用程式所需的權限:
    • OpenID 權限範圍:
      • openid(必填)- 登入使用者
      • profile(必填)- 檢視使用者基本資料
      • email(必填)- 檢視使用者電子郵件地址
      • offline_access(選填)- 僅當你在 Logto 連接器中啟用儲存權杖以持續存取 API並需要取得重新整理權杖以長時間存取 Microsoft Graph API 時才需勾選。
    • API 存取(選填):新增應用程式所需的其他權限。常見的 Microsoft Graph 權限包含 Mail.ReadCalendars.ReadFiles.Read 等。可瀏覽 Microsoft Graph 權限參考文件 以查詢可用權限。
  4. 點擊 Add permissions 以確認選擇。
  5. 若應用程式某些權限需管理員同意,請點擊 Grant admin consent for [你的組織]
新增 Microsoft API 權限

在 Logto Microsoft Entra ID 連接器:

  1. Logto 會自動包含 openidprofileemail 權限範圍以取得基本使用者身分資訊。若僅需基本資訊,可將 Scopes 欄位留空。
  2. 若計畫儲存權杖以持續存取 API,請在 Scopes 欄位加入 offline_access。此權限範圍可啟用長效 API 存取所需的重新整理權杖。
  3. 若需從 Microsoft Graph 請求更多資料,請在 Scopes 欄位(以空格分隔)加入其他權限範圍。例如:User.Read Mail.Read Calendars.Read
提示:

若你的應用程式請求這些權限範圍以存取 Microsoft Graph API 並執行操作,請務必在 Logto Microsoft Entra ID 連接器中啟用 儲存權杖以持續存取 API。詳情請見下一節。

步驟 4:儲存權杖以存取 Microsoft API(選填)

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

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

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

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

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