Как использовать аутентификацию Azure AD Saml2 для единого входа в .NET Core 3.1

Я использую Sustainsys.Saml2 для аутентификации Azure AD Saml2 в .NET Core 3.1. Я могу пройти аутентификацию, но после перенаправления страницы входа на этот адрес https: // localhost: 44378 / Saml2 / Acs.system автоматически добавляет / Saml2 /Acs.Я не смог найти правильный учебник по этому. Мне нужно правильно использовать URL-адрес ответа. после успешной аутентификации мне нужно вызвать конкретный контроллер.

// Startup.cs class

services.AddAuthentication(sharedOptions =>
            {
                sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
               sharedOptions.DefaultChallengeScheme = "Saml2";
            })
            .AddSaml2(options =>
            {
               options.SPOptions.EntityId = new EntityId("https://localhost:44378/Saml2");
                options.IdentityProviders.Add(
                new IdentityProvider(
                  new EntityId("https://sts.windows.net/9e5692e4-bd0a-414d-8b61-98f59dab156e/"), options.SPOptions)
                {
                    MetadataLocation = "https://login.microsoftonline.com/7e5692e4-bgf0a-4148-8b61-98f59dab156e/federationmetadata/2007-06/federationmetadata.xml?appid=1729db2f-0156-41cb-b4e3-d54bed555b85"
                });
            })
            .AddCookie();

            services.AddMvc(options =>
            {
                var policy = new AuthorizationPolicyBuilder()
                    .RequireAuthenticatedUser()
                    .Build();
                options.Filters.Add(new AuthorizeFilter(policy));
            });

сообщение об ошибке

Эта страница localhost не может быть найдена Не найдена веб-страница для веб-адреса: https: // localhost: 44378 / Saml2 / Acs HTTP ERROR 404


person Sudheer    schedule 22.09.2020    source источник


Ответы (1)


Вам необходимо добавить app.UseAuthentication (); в вашем методе Configure в классе Startup.

public class Startup
{
    public void Configure(IApplicationBuilder app)
    {
        app.UseAuthentication();
    }
}

Это включит промежуточное ПО SAML2 в вашем приложении.

person Franklin    schedule 16.02.2021