你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft 标识 Web 身份验证库
Microsoft 标识 Web 是一组 ASP.NET Core 库,可简化向与 Microsoft 标识平台集成的 Web 应用和 Web API 添加身份验证和授权支持的过程。 它提供了一个单面 API 便利层,该层将 ASP.NET Core、其身份验证中间件以及适用于 .NET 的 Microsoft 身份验证库 (MSAL) 绑定在一起。 可通过 NuGet 或通过 Visual Studio 项目模板来安装它,以创建新的应用项目
支持的应用程序方案
如果要构建 ASP.NET Core Web 应用或 Web API,以便使用 Azure Active Directory (Azure AD) 或 Azure AD B2C 进行标识和访问管理 (IAM),建议在这些情况下使用 Microsoft 标识 Web:
- 用于登录用户的 Web 应用
- 将用户登录并以用户身份调用 Web API 的 Web 应用
- 只有经身份验证的用户可以访问的受保护 Web API
- 代表已登录用户调用其他(下游)Web API 的受保护 Web API
从 NuGet 安装
Microsoft 标识 Web 在 NuGet 上以一组包的形式提供,这些包基于应用程序需求提供模块化功能。 使用 .NET CLI 的 dotnet add
命令或 Visual Studio 的 NuGet 包管理器安装相应的包:
- Microsoft.Identity.Web - 主要包。 使用 Microsoft 标识 Web 的所有应用所需的。
- Microsoft.Identity.Web.UI - 可选。 为 Web 应用添加进行用户登录和注销的 UI,以及关联的控制器。
- Microsoft.Identity.Web.MicrosoftGraph - 可选。 提供与 Microsoft Graph API 的简化交互。
- Microsoft.Identity.Web.MicrosoftGraphBeta - 可选。 提供与 Microsoft Graph API beta 版本终结点的简化交互。
通过使用 Visual Studio 项目模板安装
.NET SDK 6.0 及更高版本中包含多个使用 Microsoft.Identity.Web 的项目模板。
.NET 6.0+ - 包含项目模板
.NET SDK 6.0 及更高版本中包含 Microsoft Identity Web 项目模板。
中以下示例在,.NET CLI 命令创建包含 Microsoft Identity Web 的 Blazor Server 项目。
dotnet new blazorserver --auth SingleOrg --calls-graph --client-id "00000000-0000-0000-0000-000000000000" --tenant-id "11111111-1111-1111-1111-111111111111" --output my-blazor-app
请不要将 2
附加到示例中的应用程序类型参数 blazorserver
,因为使用的是 .NET SDK 6.0+ 中包含的模板。
后续步骤
若要查看操作中的 Microsoft 标识 Web,请尝试我们的 Blazor Server 教程:
教程:创建使用 Microsoft 标识平台进行身份验证的 Blazor Server 应用
GitHub上的 Microsoft 标识 Web Wiki 包含了广泛的参考文档,涉及此库的各个方面。 例如,可以在下面找到证书用法、增量同意和条件访问参考:
- 将证书用于 Microsoft.Identity.Web (GitHub)
- 增量同意和条件访问 (GitHub)