首页 > 解决方案 > .NET Core 2 Api 与 Azure AD 和 Windows 身份验证

问题描述

我在 .NET Core 2 中构建了自己的 API 并将其上传到 Azure。我们正在使用 AD Connect,我将我的应用程序配置为使用 AAD 身份验证,如下所述:https ://docs.microsoft.com/en-us/azure/app-service/app-service-mobile-how-to-配置活动目录身份验证

我们只想在公司网络内部使用该应用程序,每个人都已经使用他的 AD 凭据登录。因此,我们应该可以使用 SSO。但是,我不知道如何配置我的 .NET Core 2 应用程序来使用它。在互联网上,我找到了很多关于 OpenId 或 OAuth 2.0 等的信息,但这对我没有帮助,因为我们只需要普通的 Windows 身份验证。

任何想法,我必须如何正确配置我的 .NET Core 2 应用程序?

我已经添加了这项服务:

        services.AddAuthentication(auth =>
        {
            auth.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            auth.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
            auth.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        })
        .AddCookie()
        .AddOpenIdConnect();

并添加了身份验证中间件:

        app.UseAuthentication();

很可能,我的配置不能像这样工作。任何想法或有用的链接,我如何存档,我想要什么?

标签: authenticationasp.net-core.net-coreazure-active-directory

解决方案


我们只需要普通的 Windows 身份验证。

如果我理解正确,您只想使用本地 AD 帐户凭据进行身份验证。如果您只是想要这个,您可以通过 AAD Connect 进行混合配置。根据您发布的链接文档,您正在使用 Easy Auth 将您的应用程序与 Azure AD 集成。因此,您无需添加有关身份验证的代码逻辑。

如何正确配置我的 .NET Core 2 应用程序?

由于您使用的是EasyAuth,因此您无需在应用程序内部配置身份验证逻辑代码。

任何想法或有用的链接,我如何存档,我想要什么?

对于您的场景,实现起来很简单,可以让您使用本地 AD 帐户登录应用程序。

  1. 通过 AAD Connect 将您的本地 AD 与 Azure AD 集成。设置 AAD 连接并使用一个 SSO 选项对其进行配置。例如直通身份验证。此外,您可以使用 ADFS 进行身份验证,其体验更像是内部部署。这完全取决于您的情况。

  2. 将您的本地 AD 同步到 AAD。

  3. 将您的应用发布到 Azure Web 应用服务。为其配置 Easy Auth。

  4. 通过您的本地帐户登录应用程序对其进行测试。

参考:

Azure AD Connect 用户登录选项

将应用服务应用配置为使用 Azure Active Directory 登录

请让我知道这可不可以帮你!


推荐阅读