共用方式為


針對 B2B 來賓使用者將 Google 新增為識別提供者

適用於具有白色核取記號的綠色圓圈。 員工租用戶 具有灰色 X 符號的白色圓圈。 外部租用戶 (深入了解)

提示

本文說明將 Google 新增為員工租用戶中 B2B 共同作業的識別提供者。 如需外部租用戶的指示,請參閱將 Google 新增為識別提供者

藉由設定 Google 同盟,您可以讓受邀的使用者使用自己的 Gmail 帳戶登入共用應用程式和資源,而不需要建立 Microsoft 帳戶。 將 Google 新增為其中一個應用程式的登入選項之後,使用者可以透過 [登入] 頁面,輸入他們用來登入 Google 的 Gmail 電子郵件地址。

Google 使用者的登入選項

注意

Google 同盟針對 Gmail 使用者量身打造。 若要與 Google Workspace 網域建立同盟,請使用 SAML/WS-Fed 身分識別提供者同盟

重要

  • 從 2021 年 7 月 12 日開始,如果 Microsoft Entra B2B 客戶設定新的 Google 整合以與自助式註冊搭配使用,或為其自訂或企業營運應用程式邀請外部使用者,則可能會封鎖 Gmail 使用者的驗證 (出現預期結果中所示的錯誤畫面)。 只有當您在 2021 年 7 月 12 日之後針對自助式註冊使用者流程或邀請建立 Google 整合且您的自訂或企業營運應用程式中的 Gmail 驗證尚未移至系統 Web 檢視時,才會發生此問題。 由於預設會啟用系統 Web 檢視,因此大部分的應用程式不會受到影響。 為了避免此問題,我們強烈建議您先將 Gmail 驗證移至系統瀏覽器,再為自助式註冊建立任何新的 Google 整合。 請參閱內嵌 Web 檢視所需的動作
  • 自 2021 年 9 月 30 日起,Google 將淘汰 Web 檢視登入支援。 若應用程式是以內嵌的 Web 檢視來驗證使用者,且您為外部使用者邀請或自助式註冊使用 Google 與 Azure AD B2C 或 Microsoft Entra B2B 的同盟,則 Google Gmail 使用者將無法進行驗證。 深入了解

Google 使用者的體驗如何?

您可以使用各種方式來邀請 Google 使用者加入 B2B 共同作業。 例如,您可以 透過 Microsoft Entra 系統管理中心將其新增至目錄。 當他們兌換您的邀請時,其體驗會視他們是否已登入 Google 而不同:

  • 系統會提示未登入 Google 的來賓使用者執行此動作。
  • 系統會提示已登入 Google 的來賓使用者選擇他們要使用的帳戶。 使用者必須選擇您用來邀請他們的帳戶。

看到「標頭太長」錯誤的來賓使用者可以清除其 cookie,或開啟私人或無痕模式視窗,然後再次嘗試登入。

此螢幕擷取畫面顯示 Google 登入頁面。

登入端點

Google 來賓使用者現在可以使用通用端點 (換句話說,就是不包含在您租用戶內容中的通用應用程式 URL),來登入多租用戶或 Microsoft 第一方應用程式。 在登入流程中,來賓使用者會選擇 [登入選項],然後選取 [登入組織]。 使用者接著輸入您的組織名稱,並繼續使用自己的 Google 認證登入。

Google 同盟來賓使用者也可以使用包括您租用戶資訊的應用程式端點,例如:

  • https://myapps.microsoft.com/?tenantid=<your tenant ID>
  • https://myapps.microsoft.com/<your verified domain>.onmicrosoft.com
  • https://portal.azure.com/<your tenant ID>

您也可以將應用程式或資源的直接連結提供給 Google 來賓使用者,方法是包括您的租用戶資訊,例如 https://myapps.microsoft.com/signin/X/<application ID?tenantId=<your tenant ID>

淘汰 Web 檢視登入支援

自 2021 年 9 月 30 日起,Google 將淘汰內嵌的 Web 檢視登入支援。 若應用程式是以內嵌的 Web 檢視來驗證使用者,且您為外部使用者邀請自助式註冊使用 Google 與 Azure AD B2C 或 Microsoft Entra B2B 的同盟,則 Google Gmail 使用者將無法進行驗證。

以下是影響 Gmail 使用者的已知案例:

  • Windows 上的 Microsoft 應用程式 (例如 Teams 和 Power Apps)
  • 使用 WebView 控制項、WebView2 或舊的 WebBrowser 控制項進行驗證的 Windows 應用程式。 這些應用程式應移轉至使用 Web 帳戶管理員 (WAM) 流程。
  • 使用 Web 檢視 UI 元素的 Android 應用程式
  • 使用 UIWebView/WKWebview 的 iOS 應用程式
  • 使用 ADAL 的應用程式

此變更不會影響:

  • Web 應用程式
  • 透過網站存取的 Microsoft 365 服務(例如 SharePoint Online、Office Web 應用程式和 Teams Web 應用程式)
  • 使用系統 Web 檢視進行驗證的行動應用程式 (iOS 上為 SFSafariViewController,Android 上為 [自訂] 索引標籤)。
  • Google Workspace 身分識別,例如,當您使用 SAML 型同盟 搭配 Google Workspace 時
  • 使用 Web 帳戶管理員 (WAM) 或 Web 驗證訊息代理程式 (WAB) 的 Windows 應用程式。

內嵌 Web 檢視所需的動作

修改您的應用程式,以使用系統瀏覽器進行登入。 如需詳細資訊,請參閱 MSAL.NET 檔中的內嵌 Web 檢視與系統瀏覽器。 依預設,所有 MSAL SDK 都會使用系統瀏覽器。

有何影響

自 9 月 30 日起,Microsoft 將在全球推出裝置登入流程,其可做為仍在使用內嵌 Web 檢視應用程式的因應措施,以確保驗證不會遭到封鎖。

如何使用裝置登入流程登入

裝置登入流程會提示在內嵌的 Web 檢視中使用 Gmail 帳戶登入的使用者,先於不同的瀏覽器中輸入代碼,之後才能完成登入。 如果使用者第一次使用其 Gmail 帳戶登入,而瀏覽器中沒有任何使用中的工作階段,則使用者會看到下列順序的畫面。 如果現有的 Gmail 帳戶已經登入,這些步驟的部分步驟可能會排除。

  1. 在 [登入] 畫面上,使用者會輸入其 Gmail 位址,然後選取 [下一步]

    顯示登入畫面的螢幕擷取畫面

  2. 下列畫面隨即出現,提示使用者開啟新視窗,瀏覽至 https://microsoft.com/devicelogin,然後輸入所顯示的九位數英數字元代碼。

    顯示 9 位數代碼的螢幕擷取畫面

  3. 裝置登入頁面隨即開啟,使用者可在此輸入代碼。

    顯示裝置登入頁面的螢幕擷取畫面

  4. 如果代碼相符,基於安全性理由,系統會要求使用者重新輸入他們的電子郵件,以確認其應用程式和登入位置。

    顯示重新輸入電子郵件畫面的螢幕擷取畫面

  5. 使用者使用其電子郵件和密碼登入 Google。

    顯示 Google 登入畫面的螢幕擷取畫面

  6. 同樣地,系統會要求他們確認其所登入的應用程式。

    顯示應用程式確認畫面的螢幕擷取畫面

  7. 使用者選取 [繼續]。 提示會確認其已登入。 使用者關閉索引標籤或視窗,並返回第一個畫面,在其中他們現在已登入應用程式。

    顯示登入確認的螢幕擷取畫面

或者,您可以讓現有和新的 Gmail 使用者使用電子郵件一次性密碼登入。 若要讓 Gmail 使用者使用電子郵件一次性密碼:

  1. 啟用電子郵件一次性密碼
  2. 移除 Google 同盟
  3. 重設 Gmail 使用者的兌換狀態,讓他們之後可以使用電子郵件一次性密碼。

若要求延期,具有受影響 OAuth 用戶端識別碼的受影響客戶應該已收到來自 Google 開發人員的電子郵件,其中包含下列一次性原則強制延期相關資訊,必須在 2022 年 1 月 31 日前完成:

  • 「如有必要,您可以針對每個列出的 OAuth 用戶端識別碼的內嵌 Web 檢視要求一次性原則強制執行延期,直到 2022 年 1 月 31 日為止。 為了清楚起見,用於內嵌 Web 檢視的原則將在 2022 年 2 月 1 日強制執行,且沒有任何例外或延長。」

移轉至允許的 Web 檢視以進行驗證的應用程式不會受到影響,而且使用者將可以正常透過 Google 驗證。

如果應用程式未移轉至允許的 Web 檢視以進行驗證,則受影響的 Gmail 使用者將會看到下列畫面。

如果應用程式未移轉至系統瀏覽器,便會發生 Google 登入錯誤

區分 CEF/Electron 與內嵌的 Web 檢視

除了內嵌的 Web 檢視和架構登入支援的淘汰,Google 也會淘汰 Chromium 內嵌架構 (CEF) 型 Gmail 驗證。 針對以 CEF 為建置基礎的應用程式 (例如 Electron 應用程式),Google 將在 2021 年 6 月 30 日停用驗證。 受影響的應用程式已直接收到來自 Google 的通知,因此不在本文件中討論。 本文件屬於之前所述的內嵌 Web 檢視,Google 將在不同日期於 2021 年 9 月 30 日進行限制。

內嵌架構所需的動作

遵循 Google 的指導方針來判斷您的應用程式是否受到影響。

步驟 1:設定 Google 開發人員專案

首先,在 Google 開發人員主控台中,建立新專案來取得用戶端識別碼和用戶端密碼,以供稍後新增至 Microsoft Entra 外部 ID。

  1. 移至 Google API (網址為:https://console.developers.google.com),並使用 Google 帳戶來登入。 我們建議使用共用小組 Google 帳戶。

  2. 如果系統提示您,請接受服務條款。

  3. 建立新的專案:在頁面頂端,選取專案功能表以開啟 [選取專案] 頁面。 選擇 [新增專案]

  4. 在 [新增專案] 頁面上,指定專案的名稱 (例如 MyB2BApp),然後選取 [建立]

    此螢幕擷取畫面顯示 [新增專案] 頁面。

  5. 選取 [通知] 訊息方塊中的連結,或使用頁面頂端的專案功能表,開啟新專案。

  6. 在左側功能表中,選取 [API 和服務],然後選取 [OAuth 同意] 畫面。

  7. 在 [使用者類型] 底下,選取 [外部],然後選取 [建立]

  8. 在 [OAuth 同意] 畫面的 [應用程式資訊] 底下,輸入應用程式名稱

  9. 在 [使用者支援電子郵件] 底下,選取電子郵件地址。

  10. 在 [授權的網域] 底下,選取 [新增網域],然後新增 microsoftonline.com 網域。

  11. 在 [開發人員連絡資訊] 底下,輸入電子郵件地址。

  12. 選取 [儲存並繼續] 。

  13. 在左側功能表中,選取 [認證]

  14. 選取 [建立認證],然後選取 [OAuth 用戶端識別碼]

  15. 在 [應用程式類型] 功能表中,選取 [Web 應用程式]。 為應用程式提供適當的名稱,例如 Microsoft Entra B2B。 在 [授權重新導向 URI] 底下,新增下列 URI:

    • https://login.microsoftonline.com
    • https://login.microsoftonline.com/te/<tenant ID>/oauth2/authresp
      (其中 <tenant ID> 是您的租用戶識別碼)
    • https://login.microsoftonline.com/te/<tenant name>.onmicrosoft.com/oauth2/authresp
      (其中 <tenant name> 是您的租用戶名稱)

    注意

    若要尋找您的租用戶識別碼,請登入 Microsoft Entra 系統管理中心。 在 [身分識別] 底下,選取 [概觀],然後複製 [租用戶識別碼]

  16. 選取 建立。 複製您的用戶端識別碼和用戶端密碼。 在 Microsoft Entra 系統管理中心中新增識別提供者時,需要使用這些資訊。

    此螢幕擷取畫面顯示 OAuth 用戶端識別碼和用戶端祕密。

  17. 您可以將專案保留為測試中的發佈狀態,並將測試使用者新增至 OAuth 同意畫面。 或者,您也可以選取 OAuth 同意畫面上的 [發佈應用程式] 按鈕,讓具有 Google 帳戶的任何使用者都能使用該應用程式。

    注意

    在某些情況下,您的應用程式可能需要由 Google 驗證 (例如,如果您更新應用程式標誌)。 如需詳細資訊,請參閱 Google 的驗證狀態說明

步驟 2:在 Microsoft Entra 外部 ID 中設定 Google 同盟

您現在將設定 Google 用戶端識別碼和用戶端密碼。 您可以使用 Microsoft Entra 系統管理中心或 PowerShell 來執行此動作。 請務必邀請您自己來測試您的 Google 同盟設定。 使用 Gmail 位址,並嘗試使用您受邀的 Google 帳戶兌換邀請。

在 Microsoft Entra 系統管理中心設定 Google 同盟

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

  2. 瀏覽至 [身分識別] > [外部身分識別] > [所有識別提供者],然後在 Google 行上,選取 [設定]

  3. 輸入您稍早取得的用戶端識別碼和用戶端密碼。 選取 [儲存]:

    此螢幕擷取畫面顯示 [新增 Google 身分識別提供者] 頁面。

使用 PowerShell 設定 Google 同盟

  1. 安裝最新版的 Microsoft Graph PowerShell 模組

  2. 使用 Connect-MgGraph 命令連線到您的租用戶。

  3. 在登入提示字元中,至少以外部識別提供者系統管理員身分登入。

  4. 執行下列命令:

    $params = @{
       "@odata.type" = "microsoft.graph.socialIdentityProvider"
       displayName = "Login with Google"
       identityProviderType = "Google"
       clientId = "<client ID>"
       clientSecret = "<client secret>"
    }
    
    New-MgIdentityProvider -BodyParameter $params
    

    注意

    請使用您在<步驟 1︰設定 Google 開發人員專案>中所建立的應用程式用戶端識別碼和用戶端密碼。如需詳細資訊,請參閱 New-MgIdentityProvider

將 Google 識別提供者新增至使用者流程

此時,會在您的 Microsoft Entra 租用戶中設定 Google 識別提供者。 兌換您的邀請的使用者可以使用 Google 登入。 不過,如果您已建立自助式註冊使用者流程,就需要一併將 Google 新增至使用者流程登入頁面。 若要將 Google 識別提供者新增至使用者流程:

  1. 瀏覽至 [身分識別] > [外部身分識別] > [使用者流程]

  2. 選取您想要新增 Google 識別提供者的使用者流程。

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

  4. 在識別提供者清單中,選取 [Google]

  5. 選取 [儲存]。

我該如何移除 Google 同盟?

您可以刪除 Google 同盟設定。 這樣一來,已兌換其邀請的 Google 來賓使用者便無法登入。 但是,您可以藉由重設其兌換狀態,讓他們再次存取您的資源。

刪除 Microsoft Entra 系統管理中心的 Google 同盟

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

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

  3. 在 [Google] 行上,選取 ([已設定]),然後選取 [刪除]

  4. 輸入 [] 以確認刪除。

使用 PowerShell 刪除 Google 同盟

  1. 安裝最新版的 Microsoft Graph PowerShell 模組

  2. 使用 Connect-MgGraph 命令連線到您的租用戶。

  3. 在登入提示中,至少以外部識別提供者系統管理員身分登入。

  4. 輸入下列命令:

    Remove-MgIdentityProvider -IdentityProviderBaseId Google-OAUTH
    

    注意

    如需詳細資訊,請參閱 Remove-MgIdentityProvider