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

如何在 Azure API 管理中使用 Azure Active Directory B2C 为开发人员帐户授权

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

Azure Active Directory B2C 是一种云标识管理解决方案,适用于面向使用者的 Web 和移动应用程序。 可以使用它来管理对 API 管理开发人员门户的访问。

本教程介绍为了与 Azure Active Directory B2C 集成而需要在 API 管理服务中完成的配置。

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

重要

  • 本文已更新使用 Microsoft 身份验证库 (MSAL) 配置 Azure AD B2C 应用的步骤。
  • 如果以前使用 Azure AD 身份验证库 (ADAL) 为用户登录配置了 Azure AD B2C 应用,建议迁移到 MSAL

先决条件

配置注册和登录用户流

在本部分,需在 Azure Active Directory B2C 租户中创建包含注册和登录策略的用户流。 有关详细步骤,请参阅在 Azure Active Directory B2C 中创建用户流和自定义策略

  1. Azure 门户中,访问你的 Azure Active Directory B2C 租户。
  2. 在“策略”下,选择“用户流”>“+ 新建用户流”。
  3. 在“创建用户流”页面上,选择“注册和登录”用户流 。 选择“建议”版本,然后选择“创建”。
  4. 在“创建”页中提供以下信息:
    1. 输入用户流的唯一名称。
    2. 在“标识提供者”中,选择“电子邮件注册”。
    3. 在“用户属性和令牌声明”中,选择 API 管理开发人员门户所需的以下属性和声明。
      • 收集属性:名字、姓氏

      • 返回声明:名字、姓氏、电子邮件地址、用户的 ObjectID

        门户中属性和声明的屏幕截图

  5. 选择“创建”。

为开发人员门户配置标识提供者

  1. 在一个单独的 Azure 门户标签页中,导航到你的 API 管理实例。

  2. 在“开发人员门户”下,选择“标识”>“+ 添加”。

  3. 在“添加标识提供者”页面中,选择“Azure Active Directory B2C”。 选择后,可以输入其他所需信息。

    • 在“客户端库”下拉列表中,选择“MSAL”。
    • 若要添加其他设置,请参阅本文后面的步骤。
  4. 在“添加标识提供者”窗口中,复制“重定向 URL”。

    门户中重定向 URL 的屏幕截图。

  5. 返回到 Azure 门户中你的 Azure Active Directory B2C 租户的浏览器选项卡。 选择“应用注册”>“+ 新建注册”。

  6. 在“注册应用程序”页面中,输入你的应用程序的注册信息。

    • 在“名称”部分,输入你选择的应用程序名称。
    • 在“支持的帐户类型”部分中,选择“任何组织目录中的帐户(用于通过用户流对用户进行身份验证)”。 有关详细信息,请参阅注册应用程序
    • 在“重定向 URI”中,选择“单页应用程序(SPA)”,然后粘贴上一步保存的重定向 URL。
    • 在“权限”中,选中“授予对 OpenID 和脱机访问权限的管理员同意”。
    • 选择“注册”以创建应用程序。

    在门户中注册新应用程序的屏幕截图。

  7. 在应用的“概述”页上,找到“应用程序(客户端) ID”,将该值复制到剪贴板。

    门户中“概述”页的屏幕截图。

  8. 切换回 API 管理的“添加标识提供者”页面,将 ID 粘贴到“客户端 ID”文本框中。

  9. 切换回 B2C 应用注册。 选择“证书和机密”>“+ 新建客户端机密”在门户中创建客户端密码的屏幕截图。

    • 在“添加客户端机密”页中,输入说明并选择“添加”。
    • 将“值”记录在安全的位置。 退出此页面后,此机密值永不再显示。
  10. 切换回 API 管理的“添加标识提供者”页面,将密钥粘贴到“客户端机密”文本框中。

  11. 在“添加标识提供者”页上继续操作:

    • 在“登录租户”中,指定 Azure Active Directory B2C 租户的域名。

    • 可以使用“颁发机构”字段控制要使用的 Azure Active Directory B2C 登录 URL。 将值设置为“.b2clogin.com<your_b2c_tenant_name>.b2clogin.com”。

    • 使用在上一步中创建的用户流的名称指定“注册策略”和“登录策略”。

    • 还可以提供“个人资料编辑策略”和“密码重置策略”。

      门户中 Azure Active Directory B2C 标识提供者配置的屏幕截图。

  12. 指定所需的配置后,选择“添加”。

  13. 重新发布开发人员门户以使 Azure AD B2C 配置生效。 在左侧菜单中的“开发人员门户”下,选择“门户概述”>“发布”。

保存更改后,开发人员可以使用 Azure Active Directory B2C 创建新帐户并登录到开发人员门户。

迁移到 MSAL

如果以前使用 ADAL 为用户登录配置了 Azure AD B2C 应用,则可以使用门户将应用迁移到 MSAL,并在 API 管理中更新标识提供者。

更新 Azure AD B2C 应用以实现 MSAL 兼容性

有关更新 Azure AD B2C 应用的步骤,请参阅将重定向 URI 切换为单页应用程序类型

更新标识提供者配置

  1. 在 API 管理实例的左侧菜单中的“开发人员门户”下,选择“标识”。
  2. 从列表中选择 Azure Active Directory B2C
  3. 在“客户端库”下拉列表中,选择“MSAL”。
  4. 选择“更新”。
  5. 重新发布开发人员门户

开发人员门户 - 添加 Azure Active Directory B2C 帐户身份验证

重要

在创建或更新 Azure Active Directory B2C 配置设置时,需要重新发布开发人员门户,以使更改生效。

在开发人员门户中,可以使用“登录按钮: OAuth”小组件通过 Azure Active Directory B2C 进行登录。 此小组件已包括在默认开发人员门户内容的登录页上。

  1. 若要使用 Azure Active Directory B2C 进行登录,请打开一个新的浏览器窗口并转到开发人员门户。 选择“登录”。

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

    登录到开发人员门户的屏幕截图。

  3. 将重定向到在上一部分中配置的注册策略。 选择在 Active Directory B2C 租户中使用你的电子邮件地址进行注册。

注册完成后,将重定向回到开发人员门户。 现已登录到 API 管理服务实例的开发人员门户。

登录到开发人员门户的操作完成

尽管每当新用户使用 Azure Active Directory B2C 登录时都会自动创建一个新帐户,但你可以考虑向注册页添加同一个小组件。

“注册表单:OAuth”小组件表示用于注册 OAuth 的表单。

后续步骤