将 Google 添加为标识提供者(预览版)

通过设置与 Google 的联合身份验证,你允许客户使用他们自己的 Gmail 帐户登录到应用程序。 将 Google 添加为用户流的登录选项之一后,客户可以使用 Google 帐户注册并登录到应用程序。 (详细了解客户的身份验证方法和标识提供者。)

提示

立即试用

若要试用此功能,请转到 Woodgrove Groceries 演示并启用“使用社交帐户登录”用例。

先决条件

创建 Google 应用程序

要使客户能够使用 Google 帐户登录,需要在 Google Developers Console 中创建应用程序。 有关详细信息,请参阅设置 OAuth 2.0。 如果还没有 Google 帐户,可以在 https://accounts.google.com/signup 上注册。

  1. 使用 Google 帐户凭据登录 Google 开发人员控制台

  2. 如果系统提示接受服务条款,请接受它。

  3. 在页面左上角选择项目列表,然后选择“New Project”(新建项目)。

  4. 输入项目名称,然后选择“Create”(创建)。

  5. 通过选择屏幕左上角的项目下拉列表来确保使用的是新项目。 根据名称选择你的项目,然后选择“Open”(打开)。

  6. 在“快速访问”下,或在左侧菜单中,选择 “API 和服务”,然后选择“OAuth 同意屏幕”

  7. 在“用户类型”下,选择“外部”,然后选择“创建”。

  8. 在“OAuth 许可屏幕”上的“应用信息”下

    1. 输入应用程序的名称
    2. 选择“用户支持电子邮件”地址。
  9. 在“授权域”部分下,选择“添加域”,然后添加 ciamlogin.commicrosoftonline.com

  10. 在“开发人员联系人信息”部分,输入逗号分隔的电子邮件,以便 Google 通知你对项目所做的任何更改。

  11. 选择“保存并继续”。

  12. 在左侧菜单中,选择“凭据”

  13. 选择“创建凭据”,然后选择“OAuth 客户端 ID”。

  14. 在“应用程序类型”下,选择“Web 应用程序”

    1. 为应用程序输入合适的“名称”,例如“Microsoft Entra 外部 ID”。
    2. 在“有效的 OAuth 重定向 URI”中,输入以下 URI。<tenant-ID> 替换为你的客户目录(租户)ID,并将 <tenant-subdomain> 替换为你的客户目录(租户)子域。 如果没有租户名称,请了解如何读取租户详细信息
    • https://login.microsoftonline.com
    • https://login.microsoftonline.com/te/<tenant-ID>/oauth2/authresp
    • https://login.microsoftonline.com/te/<tenant-subdomain>.onmicrosoft.com/oauth2/authresp
    • https://<tenant-ID>.ciamlogin.com/<tenant-ID>/federation/oidc/accounts.google.com
    • https://<tenant-ID>.ciamlogin.com/<tenant-subdomain>.onmicrosoft.com/federation/oidc/accounts.google.com
    • https://<tenant-ID>.ciamlogin.com/<tenant-ID>/federation/oauth2
    • https://<tenant-ID>.ciamlogin.com/<tenant-subdomain>.onmicrosoft.com/federation/oauth2
  15. 选择创建

  16. 记录“客户端 ID”和“客户端密码”的值。 将 Google 配置为租户中的标识提供者时需要这两个值。

注意

在有些情况下,你的应用可能需要由 Google 验证(例如,如果你更新应用程序徽标)。 有关详细信息,请参阅 Google 的验证状态 guid

在 Microsoft Entra 外部 ID 中配置 Google 联合身份验证

创建 Google 应用程序后,接下来在 Microsoft Entra ID 中设置 Google 客户端 ID 和客户端密码。 可使用 Microsoft Entra 管理中心或 PowerShell 执行此操作。 要在 Microsoft Entra 管理中心配置 Google 联合身份验证,请执行以下步骤:

  1. 登录 Microsoft Entra 管理中心。 

  2. 浏览到“标识”>“外部标识”>“所有标识提供者”。

  3. 选择“+ Google”。

  4. 输入“名称”。 例如 Google

  5. 对于“客户端 ID”,请输入前面创建的 Google 应用程序的客户端 ID。

  6. 对于“客户端密码”,输入已记录的客户端密码。

  7. 选择“保存”。

按照以下步骤使用 PowerShell 配置 Google 联合身份验证:

  1. 安装最新版本的 Microsoft Graph PowerShell for Graph 模块

  2. 运行以下命令:Connect-MgGraph

  3. 根据登录提示使用托管的全局管理员帐户登录。

  4. 运行以下命令:

    Import-Module Microsoft.Graph.Identity.SignIns
    $params = @{
    "@odata.type" = "microsoft.graph.socialIdentityProvider"
    displayName = "Login with Amazon"
    identityProviderType = "Amazon"
    clientId = "00001111-aaaa-2222-bbbb-3333cccc4444"
    clientSecret = "000000000000"
    }
    New-MgIdentityProvider -BodyParameter $params
    

使用在“创建 Google 应用程序”步骤中创建的应用的客户端 ID 和客户端机密。

将 Google 标识提供者添加到用户流

此时,Google 标识提供者已在 Microsoft Entra ID 中设置完毕,但还不能在任何登录页面中使用。 将 Google 标识提供者添加到用户流:

  1. 在外部租户中,浏览到“标识”>“外部标识”>“用户流”。

  2. 选择要将 Google 标识提供者添加到的用户流。

  3. 在“设置”下,选择“标识提供者”。

  4. 在“其他标识提供者”下,选择“Google”。

  5. 选择“保存”。

后续步骤