教程:创建和配置 ASP.NET Core 项目以进行身份验证
在本教程中,你将学习如何使用 IDE 创建 ASP.NET Core 项目并配置身份验证和授权。 本教程是一系列教程的第二部分,演示如何使用 Microsoft 标识平台保护 Web API。 在上一篇文章中,你在 Microsoft Entra ID 租户中注册了应用程序。 本文内容:
- 在 IDE 中创建 ASP.NET Core Empty 项目
- 配置应用程序的设置
- 识别并安装所需 NuGet 包
先决条件
- 完成教程:向 Microsoft 标识平台注册 Web API 中的先决条件和步骤。
- 可以从“下载”页面下载本教程中使用的 IDE。
- Visual Studio 2022
- Visual Studio Code
- Visual Studio 2022 for Mac
- 最低要求 .NET 6.0 SDK。
创建 ASP.NET Core 项目
使用以下选项卡在 IDE 中创建 ASP.NET Core 项目。
- 打开 Visual Studio,然后选择“创建新项目”。
- 搜索并选择“ASP.NET Core Empty”模板,然后选择“下一步”。
- 输入项目的名称,例如 NewWebAPILocal。
- 选择项目位置或者接受默认选项,然后选择“下一步”。
- 接受“框架”的默认设置,并“配置 HTTPS”。
- 选择“创建” 。
配置 ASP.NET Core 项目
将在 appsettings.json 中使用之前记录的值来配置用于身份验证的应用程序。 appsettings.json 为配置文件,用于存储运行时使用的应用程序设置。
打开 appsettings.json 并用以下代码片段替换文件内容:
{ "AzureAd": { "Instance": "https://login.microsoftonline.com/", "ClientId": "Enter the client ID here", "TenantId": "Enter the tenant ID here", "Scopes": "Forecast.Read" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*" }
Instance
- 云服务提供商的终结点。 在“国家云”查看可用的不同终结点。TenantId
- 注册应用程序的租户标识符。 将引号中的文本替换为注册应用程序的概述页中先前记录的“目录 (租户) ID”值。ClientId
- 应用程序的标识符,也称为客户端。 将引号中的文本替换为先前从注册应用程序的概述页中记录的“应用程序 (客户端) ID”值。Scopes
- 用于请求访问应用程序的范围。 对于本教程,范围为Forecast.Read
。
保存对文件所做的更改。
安装标识包
必须在项目中安装与标识相关的“NuGet 包”,才能启用用户身份验证。
- 在顶部菜单中,选择“工具”>“NuGet 包管理器”>“管理解决方案的 NuGet 包”。
- 选中“浏览”选项卡后,搜索 Microsoft.Identity.Web,选择
Microsoft.Identity.Web
包,选中“项目”复选框,然后选择“安装”。 - 对于可能出现的其他窗口,请选择“确定”或“我接受”。