如何将现有的 Azure AD 身份验证合并到现有的 IIS 托管的本地环境中

问题描述 投票:0回答:1

我正在监督一家使用 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

任何帮助将不胜感激。预先感谢您。

azure openid-connect iis-10 azure-authentication
1个回答
0
投票

您可以按照以下步骤在现有 ASP.NET 应用程序中使用 Open ID Connect 实施 Azure AD 身份验证:

1)在azure AD中注册应用程序:

  • 转到 Azure 门户。
  • 在 Azure Active Directory 中注册您的应用程序以获得
    Client ID
    Tenant ID
  • 配置重定向 URI 以指向您的应用程序。
  • 如果需要,生成客户端密钥。

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。

© www.soinside.com 2019 - 2024. All rights reserved.