SSO WSFederation с. NET Core 3.1 - PullRequest
       41

SSO WSFederation с. NET Core 3.1

0 голосов
/ 16 июня 2020

Я пытаюсь выполнить интеграцию между AD и приложением. Net Core 3.1 для SSO.

До сих пор я следовал руководству Microsoft, и часть входа в систему работает хорошо. Единственная проблема, с которой я сталкиваюсь, - это другие вызовы контроллера. Вроде всегда перенаправляет на STS вместо проверки повара ie.

AD настроен как Redirect to my realm.

Я позволю вам здесь Startup.cs:

public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }


        public void ConfigureServices(IServiceCollection services)
        {


            services.AddAuthentication(sharedOptions =>
            {
                sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                sharedOptions.DefaultChallengeScheme = WsFederationDefaults.AuthenticationScheme;
            })
            .AddWsFederation(options =>
            {
                options.Wtrealm = "https://myrealm.example";
                options.MetadataAddress = "https://metadatalocation.example/FedertionMetadata.xml";
                options.CallbackPath = "/auth";
            }).AddCookie();

            services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
            {
                builder.AllowAnyOrigin()
                       .AllowAnyMethod()
                       .AllowAnyHeader();
            }));

            services.AddControllers();
        }


        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseCors("MyPolicy");
            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }
}

Спасибо за внимание.

...