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

向 Azure Active Directory B2C 租户添加 Web API 应用程序

重要

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

本文介绍如何在 Azure Active Directory B2C (Azure AD B2C) 租户中注册 Web API 资源,以便他们可以接受和响应客户端应用程序发出的访问令牌的请求。

若要在 Azure AD B2C 租户中注册应用程序,可以使用以下步骤:

  1. 登录到 Azure 门户
  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
  3. 在左侧菜单中,选择“Azure AD B2C”。 或者,选择“所有服务”并搜索并选择“Azure AD B2C”。
  4. 选择“应用注册”,然后选择“新建注册”
  5. 输入应用程序的“名称”。 例如 ,webapi1
  6. 在“重定向 URI”下选择“Web”,然后输入 Azure AD B2C 会将应用程序请求的任何令牌返回到其中的终结点 在生产应用程序中,可以将重定向 URI 设置为 https://localhost:5000 之类的终结点。 在开发或测试期间,可以将它设置为由 Microsoft 拥有的https://jwt.ms Web 应用程序,该应用程序显示令牌的解码内容(令牌的内容永远不会离开您的浏览器)。 可以随时在注册的应用程序中添加和修改重定向 URI。
  7. 选择“注册”。
  8. 记录 应用程序(客户端)ID ,以便在 Web API 的代码中使用。

配置范围

范围提供了一种控制对受保护资源的访问的方法。 Web API 使用权限范围来实现基于范围的访问控制。 例如,Web API 的用户可以同时具有读取和写入访问权限,或者 Web API 的用户可能只有读取访问权限。 在本教程中,你将使用范围来定义 Web API 的读取和写入权限。

  1. 选择“应用注册”
  2. 选择 webapi1 应用程序以打开其 “概述 ”页。
  3. 在“管理”下,选择“公开 API” 。
  4. 应用程序 ID URI 旁边,选择 “添加 ”链接。
  5. 将默认值(GUID)替换为 api,然后选择“ 保存”。 显示完整的 URI,应采用格式 https://your-tenant-name.onmicrosoft.com/api。 当 Web 应用程序请求 API 的访问令牌时,它应将此 URI 添加为为 API 定义的每个范围的前缀。
  6. 在“此 API 定义的范围”下选择“添加范围”。
  7. 输入以下值以创建定义对 API 的读取访问权限的范围,然后选择 “添加范围” :
    1. 范围名称demo.read
    2. 管理员许可显示名称Read access to demo API
    3. 管理员许可说明Allows read access to the demo API
  8. 选择 “添加范围”,输入以下值以添加定义对 API 的写入访问权限的范围,然后选择“ 添加范围” :
    1. 范围名称demo.write
    2. 管理员许可显示名称Write access to demo API
    3. 管理员许可说明Allows write access to the demo API

授予权限

若要从应用程序调用受保护的 Web API,需要向 API 授予应用程序权限。 例如,在 教程:在 Azure Active Directory B2C 中注册应用程序,在 Azure AD B2C 中注册名为 webapp1 的 Web 应用程序。 可以使用此应用程序调用 Web API。

  1. 选择 “应用注册”,然后选择应有权访问 API 的 Web 应用程序。 例如 ,webapp1
  2. 在“ 管理”下,选择 API 权限
  3. 在“已配置权限”下,选择“添加权限”。
  4. 选择“我的 API”选项卡。
  5. 选择应向其授予 Web 应用程序访问权限的 API。 例如 ,webapi1
  6. “权限”下,展开 演示,然后选择前面定义的作用域。 例如, demo.readdemo.write
  7. 选择“添加权限”。
  8. 选择“向(租户名称)授予管理员许可”。
  9. 如果系统提示你选择帐户,请选择当前登录的管理员帐户,或者使用至少分配有 云应用程序管理员 角色的 Azure AD B2C 租户中的帐户登录。
  10. 选择 “是”
  11. 选择“刷新”,然后确认两个范围的“状态”下是否均显示“已授予...”。

应用程序已注册以调用受保护的 Web API。 用户使用 Azure AD B2C 进行身份验证以使用该应用程序。 应用程序从 Azure AD B2C 获取授权,以访问受保护的 Web API。