共用方式為


將 OpenID Connect 新增為外部識別提供者 (預覽)

適用於白色圓圈內的灰色 X 符號。 勞動力租戶 綠色圓圈內的白色複選標記符號。 外部租戶(了解更多

藉由設定與自定義設定的 OpenID Connect (OIDC) 識別提供者進行同盟,您可以讓使用者使用同盟外部提供者的現有帳戶註冊和登入您的應用程式。 此 OIDC 同盟允許對遵守 OpenID Connect 通訊協議的各種提供者進行驗證。

當您將 OIDC 識別提供者新增至使用者流程的登入選項時,用戶可以註冊並登入該使用者流程中定義的已註冊應用程式。 他們可以使用來自 OIDC 識別提供者的認證來執行這項操作。 (深入瞭解客戶的驗證方法和識別提供者。)

先決條件

設定「OpenID Connect」識別提供者

若要將使用者聯合至您的識別提供者,您需要先準備您的識別提供者,以便接受來自 Microsoft Entra ID 租戶的聯盟請求。 若要這樣做,您必須填入重導 URI,並向您的識別提供者註冊以獲取識別。

移至下一個步驟之前,請填入您的重新導向 URI,如下所示:

https://<tenant-subdomain>.ciamlogin.com/<tenant-ID>/federation/oauth2

https://<tenant-subdomain>.ciamlogin.com/<tenant-subdomain>.onmicrosoft.com/federation/oauth2

啟用使用身份驗證服務進行登入和註冊

若要為身分識別提供者中的帳戶的使用者啟用登入和註冊,您必須將 Microsoft Entra ID 註冊為身分識別提供者中的應用程式。 此步驟可讓您的身分識別提供者辨識您的身分,並將驗證令牌發行給 Microsoft Entra ID 同盟。 使用填入的重新導向 URI 註冊應用程式。 儲存您的身份提供者配置的詳細資訊,以在 Microsoft Entra External ID 租用戶中設置同盟關係。

同盟設定

若要在 Microsoft Entra External ID 中設定 OpenID Connect 同盟與您的身分識別提供者,您需要進行下列設定:

  • 已知端點
  • 簽發者 URI
  • 用戶端識別碼
  • 客戶端驗證方法
  • 客戶端密碼
  • 範圍
  • 回應類型
  • 宣告對應
    • 名字
    • 名字
    • 電子郵件(必要)
    • 電子郵件已驗證
    • 電話號碼
    • 電話號碼已驗證
    • 街道地址
    • 地區
    • 地區
    • 郵遞區號
    • 國家

在系統管理中心設定新的 OpenID 連線識別提供者

設定識別提供者之後,在此步驟中,您會在 Microsoft Entra 系統管理中心設定新的 OpenID 連線同盟。

  1. 登入 Microsoft Entra 系統管理中心,至少具備 外部識別提供者管理員 身分。

  2. 瀏覽至 身分識別>外部身分識別>所有身分識別提供者

  3. 選取 [自訂] 索引標籤,然後選取 [新增>OpenID Connect]。

    新增自定義識別提供者的螢幕快照。

  4. 輸入識別提供者的下列詳細資料:

    • 顯示名稱:在用戶登入與註冊的過程中顯示的您的身份提供商名稱。 例如,使用 IdP 名稱登入使用 IdP 名稱註冊

    • 已知端點(也稱為元數據 URI)是 OIDC 探索 URI,用於獲取身份提供者的配置資訊。 要從已知位置擷取的回應是 JSON 檔,包括其 OAuth 2.0 端點位置。 請注意,中繼資料檔至少應包含下列屬性:issuerauthorization_endpointtoken_endpointtoken_endpoint_auth_methods_supportedresponse_types_supportedsubject_types_supportedjwks_uri。 如需詳細資訊,請參閱 OpenID Connect Discovery 規格。

    • OpenID 簽發者 URI:您的身份提供者實體 URI,負責為您的應用程式簽發存取令牌。 例如,如果您使用 OpenID Connect 來與 Azure AD B2C整合,您的簽發者 URI 可以從包含「簽發者」標籤的探索 URI 中取得,看起來如下:https://login.b2clogin.com/{tenant}/v2.0/。 簽發者 URI 是區分大小寫的 URL,使用 https 協定,包括主機和選擇性的端口號碼及路徑元件,且不含查詢或片段元件。

    注意

    目前不支援將其他Microsoft Entra 租用戶設定為外部識別提供者。 因此,不接受簽發者 URI 中的 microsoftonline.com 領域。

    • 用戶端識別碼客戶端密碼 是識別已註冊應用程式服務的識別提供者所使用的識別符。 如果選取client_secret驗證,則必須提供客戶端密碼。 如果選取private_key_jwt,則必須在OpenID提供者元數據中提供私鑰(已知端點),才能透過屬性jwks_uri擷取。
    • 客戶端驗證 是用來使用令牌端點向識別提供者進行驗證的客戶端驗證方法類型。 支援 client_secret_postclient_secret_jwtprivate_key_jwt 驗證方法。

    注意

    由於可能的安全性問題,不支援client_secret_basic客戶端驗證方法。

    • 範圍 定義您要從識別提供者收集的資訊和許可權,例如 openid profile。 OpenID Connect 要求必須在範圍中包含 openid 範圍值,才能從身份提供者接收 ID 令牌。 其他範圍可以以空格分隔並附加。 請參閱 OpenID Connect 檔,以查看哪些其他範圍可用,例如 profileemail等。
    • 回應類型 描述在身分驗證提供者 authorization_endpoint 的初始呼叫中傳回何種資訊。 目前僅支援 code 回應類型。 目前不支援 id_tokentoken
  5. 您可以選取 [下一步] :宣告對應 來設定 宣告對應檢閱 + 建立 來新增您的識別提供者。

注意

Microsoft 建議您不要 使用 隱式授權流程ROPC 流程。 因此,OpenID 連線外部識別提供者設定不支援這些流程。 建議支援 SPA 的方式是 OAuth 2.0 授權碼流程(使用 PKCE) OIDC 同盟設定所支援。

將 OIDC 身分提供者新增到使用者流程中

此時,OIDC 身份提供者已在您的 Microsoft Entra ID 中設定,但尚未在任何的登入頁面中可用。 若要將 OIDC 識別提供者新增至使用者流程:

  1. 在您的外部租戶中,瀏覽至 Identity>外部身份>使用者流程

  2. 請選擇您要新增 OIDC 身分提供者的使用者流程。

  3. 在 [設定] 底下,選取 [識別提供者]。

  4. 在 [其他識別提供者下,選取 OIDC 識別提供者

    IdP 清單中自定義 OIDC 提供者的螢幕快照。

  5. 選取 儲存