使用Azure AD和Windows身份验证的.NET Core 2 Api

时间:2018-04-26 11:41:27

标签: authentication asp.net-core .net-core azure-active-directory

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

我们只想在我们的公司网络中使用该应用程序,其中每个人都已使用他的AD-Credentials登录。 因此,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();

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

1 个答案:

答案 0 :(得分:2)

  

我们只想要正常的Windows身份验证。

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

  

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

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

  

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

对于您的方案,实现它很简单,可以让您使用本地AD帐户登录应用程序。

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

  2. 将您的内部部署广告同步到AAD。

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

  4. 通过内部部署帐户登录应用程序进行测试。

  5. 参考:

    Azure AD Connect user sign-in options

    Configure your App Service app to use Azure Active Directory login

    请告诉我这是否有帮助!