具有Azure活动目录的身份验证本地用户帐户

时间:2018-09-03 16:58:55

标签: c# azure authentication asp.net-core asp.net-identity

我试图在asp.net core 2.0应用程序中同时使用本地用户帐户和Azure活动目录。

它们两个都可以单独工作(仅激活它们之一),但是当我激活它们两个时,天蓝色的活动目录身份验证不起作用。

失败的案例: 从azure网站上的身份验证返回到我的Web应用程序后,我的Web应用程序IconContainerUser.Identity.IsAuthenticated

步骤:

  1. 使用以下代码将客户端转发到Azure身份验证网站: False
  2. 登录azure网站。
  3. 返回到回调路径。
  4. 回调设置所需的cookie。
  5. public IActionResult LoginWithOpenId(string returnUrl) { return Challenge("myAzureAD"); } 仍然为假。

代码如下:

Startup.cs

IsAuthenticated

AccountController

        services
            .AddDbContext<ApplicationDataContext>(options =>
            {
                options.UseInMemoryDatabase("testdb");
            });

        services
            .AddIdentity<IdentityUser, IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDataContext>();

        services
            .AddAuthentication()
            .AddOpenIdConnect("myAzureAD", options =>
            {
                options.ClientId = "xxx";
                options.Authority = "https://login.microsoftonline.com/xxx";
                options.CallbackPath = "/signin-oidc";
                options.RequireHttpsMetadata = false;
            })
            .AddCookie();

        services.AddMvc();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseAuthentication();
    }

0 个答案:

没有答案