Как настроить проверку подлинности Windows при запуске с использованием .Net Core и React.js? - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь разместить свое приложение на Azure, используя аутентификацию Windows. Это внутреннее приложение, и я использую его для получения имени пользователя. При загрузке я бы хотел, чтобы пользователь прошел аутентификацию, а затем использовал приложение React. В настоящее время это не проверка подлинности и сбой в моем ComponentDiDMount (), где я вызываю конечную точку, которая возвращает имя пользователя.

В конечном итоге мне нужно имя пользователя клиента.

public void ConfigureServices(IServiceCollection services) {
    services.AddAuthentication(sharedOptions => {
            sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddAzureAd(options => Configuration.Bind("AzureAd", options))
        .AddCookie();

    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    //services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();


    // In production, the React files will be served from this directory
    services.AddSpaStaticFiles(configuration => {
        configuration.RootPath = "ClientApp/build";
    });
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {

    if (env.IsDevelopment()) {
        app.UseDeveloperExceptionPage();
    } else {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }

    app.UseAuthentication();
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseSpaStaticFiles();

    app.UseMvc(routes => {
        routes.MapRoute(
            name: "default",
            template: "{controller}/{action=Index}/{id?}");
    });

    app.UseSpa(spa => {
        spa.Options.SourcePath = "ClientApp";

        if (env.IsDevelopment()) {
            spa.UseReactDevelopmentServer(npmScript: "start");
        }
    });
}

Конечная точка возвращает 500 и попадает в цепочку обещаний в приложении React. Запутался, как это сделать.

...