Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
在本教程中,你将创建一个 ASP.NET Core Web 应用并将其配置为身份验证。 这是系列的第 1 部分,演示如何生成 ASP.NET Core Web 应用程序,并使用 Microsoft Entra 管理中心对其进行身份验证准备。 此应用程序可用于工作人员租户中的员工。
在本教程中,你将:
- 创建 ASP.NET Core Web 应用
- 创建自签名证书
- 配置应用程序的设置
- 定义平台设置和 URL
拥有有效订阅的 Azure 帐户。 创建账户。 此帐户必须具有管理应用程序的权限。 使用注册应用程序所需的以下任一角色:
- 应用程序管理员
- 应用程序开发人员
尽管可以使用支持 ASP.NET Core 应用程序的任何集成开发环境(IDE),但本教程使用 Visual Studio Code。 可在此处下载
。 至少需要 .NET 8.0 SDK。
ASP.NET 核心开发人员证书。 使用 dotnet dev-certs 安装一个
在 Microsoft Entra 管理中心注册一个新应用,并配置为仅适用于此组织目录中的帐户。 有关更多详细信息 ,请参阅注册应用程序 。 在应用程序 概述 页中记录以下值供以后使用:
- 应用程序(客户端)ID
- 目录(租户)ID
使用 Web 平台配置添加以下重定向 URI。 有关更多详细信息 ,请参阅如何在应用程序中添加重定向 URI 。
-
重定向 URI:
https://localhost:5001/signin-oidc
-
前向通道注销 URL:
https://localhost:5001/signout-oidc
-
重定向 URI:
出于开发目的,创建自签名证书。 请参阅添加凭据,以上传证书并记录证书指纹。 不要对生产应用使用自签名证书。 使用受信任的证书颁发机构。
在本部分中,将在 Visual Studio Code 中创建 ASP.NET Core 项目。
打开 Visual Studio Code 并选择“ 文件 > 打开文件夹...”。导航到并选择要在其中创建项目的位置。
通过选择“终端”>“新终端”打开一个新的终端。
输入以下命令以创建一个模型视图控制器(MVC)ASP.NET Core 项目。
dotnet new mvc -n identity-client-web-app
此应用程序使用 Microsoft.Identity.Web,并且必须安装相关的 NuGet 包。
使用以下代码片段更改为新的 identity-client-web-app 文件夹并安装相关的 NuGet 包:
cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI
应用程序设置中记录的值用于配置应用程序进行身份验证。 appsettings.json 为配置文件,用于存储运行时使用的应用程序设置。
在 IDE 中,打开 appsettings.json,并将文件内容替换为以下代码片段。 将引号中的文本替换为前面记录的值。
{
"AzureAd": {
"Instance": "https://login.partner.microsoftonline.cn/",
"TenantId": "Enter_the_Tenant_Id_Here",
"ClientId": "Enter_the_Application_Id_Here",
"ClientCertificates": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApi": {
"BaseUrl": "https://microsoftgraph.chinacloudapi.cn/v1.0/",
"RelativePath": "me",
"Scopes": [
"https://microsoftgraph.chinacloudapi.cn/user.read"
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
-
Instance
- 身份验证终结点。 在“国家云”查看可用的不同终结点。 -
TenantId
- 应用程序注册所在租户的标识符。 将引号中的文本替换为注册应用程序的概述页面中先前记录的“目录(租户) ID”值。 -
ClientId
- 应用程序的标识符,也称为客户端。 将引号中的文本替换为先前从注册应用程序的概述页中记录的“应用程序(客户端) ID”值。 -
ClientCertificates
- 自签名证书用于应用程序中的身份验证。 将CertificateThumbprint
的文本替换为先前保存的证书拇指指纹。 不要对生产应用使用自签名证书。 -
CallbackPath
- 帮助服务器将响应重定向到适当应用程序的标识符。 -
DownstreamApi
- 定义用于访问 Microsoft Graph 的终结点的标识符。 应用程序 URI 与指定的范围结合成一个整体。 若要定义归组织所有的应用程序的配置,Scopes
属性的值略有不同。
根据 先决条件,已将重定向 URI 设置为 https://localhost:5001/signin-oidc
。 这需要在应用程序启动设置中更新。 可以使用在本地应用程序设置期间创建的重定向 URI 或任何其他可用的端口号,前提是它与应用程序注册中的重定向 URI 匹配。
在“属性”文件夹中,打开 launchSettings.json 文件。
查找
https
对象,并使用正确的端口号更新applicationURI
的值,在本例中5001
。 该行应类似于以下代码片段:"applicationUrl": "https://localhost:5001;http://localhost:{port}",