你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何使用 Microsoft Entra 外部 ID 授权开发人员帐户

适用范围:开发人员 | 基本 v2 | 标准 | 标准 v2 | 高级 | 高级 v2

Microsoft Entra 外部 ID 是一种云标识管理解决方案,允许外部标识安全地访问应用和资源。 您可以用它通过外部身份管理对 API 管理开发人员门户的访问权限。

在本文中,你将了解适用于 API 管理开发人员门户支持的下列场景的 Microsoft Entra ID 标识提供者配置:

  • 与员工租户中的 Microsoft Entra 外部 ID 集成。 例如,如果员工租户面向 Contoso 组织,你可能希望将 Google 或 Facebook 配置为外部标识提供者,以便这些外部用户也可使用他们的帐户进行登录。
  • 与单独的外部租户中的 Microsoft Entra 外部 ID 集成。 此配置仅允许来自该租户的外部用户登录到开发人员门户。

注释

目前,无法为开发人员门户配置多个Microsoft Entra ID 标识提供者。

有关保护对开发人员门户访问权限的选项的概述,请参阅 对 API 管理开发人员门户的安全访问

注释

API 管理服务为作为外部标识提供者的 Azure Active Directory B2C 提供旧版支持。 但是,建议将 Microsoft Entra 外部 ID 用作标识提供者,而不是将 Azure Active Directory B2C 用于 API 管理开发人员门户的新部署。

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

先决条件

将外部标识提供者添加到租户

如果你正在使用员工租户,则必须在该员工租户中启用外部标识提供者。 配置外部标识提供者超出了本文的范围。 有关详细信息,请参阅员工租户中外部 ID 的标识提供者

创建 Microsoft Entra 应用注册

在 Microsoft Entra ID 租户中创建应用注册。 应用注册表示 Microsoft Entra 中的开发人员门户应用程序,并使门户能够使用 Microsoft Entra ID 登录用户。

  1. 在 Azure 门户中,转到 Microsoft Entra ID。
  2. 在边栏菜单中的“ 管理”下,选择 “应用注册>+ 新建注册”。
  3. “注册应用程序 ”页中,输入应用程序的注册信息。
    • 在“ 名称” 部分中,输入所选的应用程序名称。
    • “支持的帐户类型 ”部分中, 仅选择此组织目录中的“帐户”。
    • 重定向 URI 中,选择 “单页应用程序”(SPA) 并输入以下 URL: https://{your-api-management-service-name}.developer.azure-api.net/signin其中 API {your-api-management-service-name} 管理实例的名称。
    • 选择“注册”以创建应用程序。 1.在“应用 概述 ”页上,找到 应用程序(客户端)ID目录(租户)ID 并将这些值复制到安全位置。 稍后需要用到它们。
  4. 在边栏菜单中的“ 管理”下,选择“ 证书和机密”。
  5. 在“ 证书和机密 ”页的“ 客户端机密 ”选项卡上,选择“ + 新建客户端密码”。
    • 输入“说明”
    • 选择过期中的任何选项。
    • 选择 添加
  6. 在离开页面之前,将客户端 机密值 复制到安全位置。 稍后需要用到此信息。
  7. 在边栏菜单中的“ 管理”下,选择“ 令牌配置>+ 添加可选声明”。
    1. 令牌类型中,选择 ID
    2. 选择(勾选)以下声明:email、family_name、given_name
    3. 选择 并添加。 如果出现提示,请选择“启用 Microsoft Graph电子邮件、配置文件权限”。

为租户启用自助注册

若要让外部用户注册以访问开发人员门户,必须完成以下步骤:

  • 为租户启用自助注册。
  • 将您的应用程序添加到自助注册流程中。

有关详细信息和详细步骤,请参阅以下文章,具体取决于使用的是员工还是外部租户:

将 Microsoft Entra ID 配置为开发人员门户的标识提供者

在 API 管理实例中,配置 Microsoft Entra ID 标识提供者。 需要上一部分从应用注册复制的值。

  1. Azure 门户 选项卡中,导航到 API 管理实例。

  2. 在边栏菜单中的 “开发人员门户”下,选择“ 标识>+ 添加”。

  3. “添加标识提供者 ”页中,选择 Microsoft Entra ID。 选择后,即可输入其他必要信息。

    1. 客户端 ID 中,输入应用注册中的 应用程序(客户端)ID
    2. 客户端机密中,输入应用注册中的 机密值
    3. 登录租户中,输入应用注册中的 目录(租户)ID
    • “客户端库 ”下拉列表中,选择 “MSAL”。
  4. 选择 并添加

    门户中Microsoft Entra ID 标识提供者配置的屏幕截图。

  5. 重新发布开发人员门户,使Microsoft Entra 配置生效。 在边栏菜单中的 “开发人员门户”下,选择 “门户概述>发布”。

重要

创建或更新标识提供者的配置设置以使更改生效时,需要 重新发布开发人员门户

使用 Microsoft Entra 外部 ID 登录到开发人员门户

在开发人员门户中,可以使用“登录按钮: OAuth”小组件通过 Microsoft Entra 外部 ID 进行登录。 该部件已包含在默认开发者门户网站内容的登录页面上。

  1. 若要使用 Microsoft Entra 外部 ID 登录,请打开新的浏览器窗口并转到开发人员门户。 选择“登录”。

  2. “登录 ”页上,选择 “Azure Active Directory”。

    开发人员门户中的“登录”页上选择“Azure Active Directory”的屏幕截图。

  3. 在Microsoft Entra 租户的登录窗口中,选择 “登录”选项。 选择在 Microsoft Entra 租户中配置的标识提供者进行登录。 例如,如果将 Google 配置为标识提供者,请选择“ 使用 Google 登录”。

    显示 Microsoft Entra 中选择外部标识提供者的屏幕截图。

若要继续登录,请响应提示。 登录完成后,会重定向回开发人员门户。

现已登录到 API 管理服务实例的开发人员门户。 你已被添加为用户中新的 API 管理用户标识,并在 Microsoft Entra ID 中添加了新的外部租户用户。