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

快速入门:使用 Azure Active Directory B2C 为 ASP.NET 应用程序设置登录

重要

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

Azure Active Directory B2C(Azure AD B2C)提供云标识管理,使应用程序、业务和客户受到保护。 Azure AD B2C 使应用程序能够使用开放式标准协议向社交帐户和企业帐户进行身份验证。

在本快速入门中,你将使用 ASP.NET 应用程序通过社交标识提供者登录并调用受 Azure AD B2C 保护的 Web API。

先决条件

  • 带有 ASP.NET 和 Web 开发工作负载的 Visual Studio 2022

  • Facebook、Google 或Microsoft的社交帐户。

  • 从 GitHub 下载 zip 文件或克隆示例 Web 应用程序。

    git clone https://github.com/Azure-Samples/active-directory-b2c-dotnet-webapp-and-webapi.git
    

    示例解决方案中有两个项目:

    • TaskWebApp - 创建和编辑任务列表的 Web 应用程序。 Web 应用程序使用 注册或登录 用户流来注册或登录用户。
    • TaskService - 支持创建、读取、更新和删除任务列表功能的 Web API。 Web API 受 Azure AD B2C 保护,并由 Web 应用程序调用。

在 Visual Studio 中运行应用程序

  1. 在示例应用程序项目文件夹中,在 Visual Studio 中打开 B2C-WebAPI-DotNet.sln 解决方案。

  2. 在本快速入门中,同时运行 TaskWebAppTaskService 项目。 右键单击解决方案资源管理器中的 B2C-WebAPI-DotNet 解决方案,然后选择“ 配置启动项目...”

  3. 选择多个启动项目,并将两个项目的操作更改为启动

  4. 选择“确定”

  5. F5 来调试两个应用程序。 每个应用程序在其自己的浏览器选项卡中打开:

    • https://localhost:44316/ - ASP.NET Web 应用程序。 在快速入门中直接与此应用程序交互。
    • https://localhost:44332/ - ASP.NET Web 应用程序调用的 Web API。

使用您的帐户登录

  1. 在 ASP.NET Web 应用程序中选择 “注册/登录 ”以启动工作流。

    显示浏览器中的示例 ASP.NET Web 应用的屏幕截图,其中突出显示了“注册/登录”链接

    此示例支持多个注册选项,包括使用社交标识提供者或使用电子邮件地址创建本地帐户。 对于本快速入门,请使用 Facebook、Google 或 Microsoft 的任何一个社交身份提供商帐户。

  2. Azure AD B2C 为示例 Web 应用程序提供名为 Fabrikam 的虚构公司的登录页。 若要使用社交标识提供者进行注册,请选择要使用的标识提供者按钮。

    “登录或注册”页标识提供者按钮的屏幕截图

    使用社交帐户凭据进行身份验证(登录),并授权应用程序从社交帐户读取信息。 通过授予访问权限,应用程序可以从社交帐户(如姓名和城市)检索个人资料信息。

  3. 完成标识提供者的登录进程。

编辑个人资料

Azure Active Directory B2C 提供了允许用户更新其配置文件的功能。 示例 Web 应用对工作流使用 Azure AD B2C 编辑配置文件用户流。

  1. 在应用程序菜单栏中,选择配置文件名称,然后选择 “编辑配置文件”以编辑创建的配置文件

    浏览器中示例 Web 应用的屏幕截图,其中突出显示了编辑配置文件链接

  2. 更改 显示名称城市,然后选择 “继续 ”更新个人资料。

    更改显示在 Web 应用程序的主页右上角。

访问受保护的 API 资源

  1. 选择 To-Do 列表 以输入和修改 to-do 列表项。

  2. “新建项” 文本框中,输入文本。 若要调用添加 to-do 列表项的受 Azure AD B2C 保护的 Web API,请选择 “添加”。

    浏览器中示例 Web 应用程序的屏幕截图,其中突出显示了 To-Do List (列表) 链接和 Add (添加) 按钮。

    ASP.NET Web 应用程序在请求受保护的 Web API 资源时包含 Microsoft Entra 访问令牌,以对用户的 to-do 列表项执行操作。

你已成功使用 Azure AD B2C 用户帐户对受 Azure AD B2C 保护的 Web API 进行授权调用。

后续步骤

在 Azure 门户中创建 Azure Active Directory B2C 租户