我正在监督一家使用 Windows Server 2022 的公司内部系统的运营和开发。到目前为止,该系统没有任何身份验证,任何人都可以访问。我想使用 Open ID Connect 方法实施 Azure AD 身份验证。
但是,开发团队成员都没有Azure AD身份验证的经验,我们不清楚如何继续实施。有这方面知识的人可以指导一下吗?
此外,如果有人知道如何将 Azure AD 身份验证添加到 IIS 上托管的现有 Web 应用程序,那将非常有帮助。
我们的应用配置如下: Windows Server 2022 + IIS 10.0 + ASP.NET 前端:.NET Framework 4.8
任何帮助将不胜感激。预先感谢您。
您可以按照以下步骤在现有 ASP.NET 应用程序中使用 Open ID Connect 实施 Azure AD 身份验证:
1)在azure AD中注册应用程序:
Client ID
和 Tenant ID
。2) 安装
Microsoft.IdentityModel.Protocols.OpenIdConnect
、Microsoft.AspNetCore.Authentication.AzureAD.UI
和 Microsoft.AspNetCore.Authentication
nuget 包
3)Startup.cs:
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
{
options.Authority = options.Authority + "/v2.0/"; // To use the v2.0 endpoint
options.TokenValidationParameters.ValidateIssuer = true;
});
在
Configure
的Startup.cs
方法中,确保在app.UseAuthentication();
之前有
app.UseMvc();
4)appsettings.json:
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "YOUR_AZURE_AD_DOMAIN",
"TenantId": "YOUR_TENANT_ID",
"ClientId": "YOUR_CLIENT_ID",
"CallbackPath": "/signin-oidc"
}
5)为您想要保护的控制器或操作添加
[Authorize]
属性。
6) 在 ASP.NET 应用程序中配置
web.config
文件以使用 Azure AD 身份验证设置,例如客户端 ID 和租户 ID。