ABP.io IdentityServer4 с AzureAD - PullRequest
       18

ABP.io IdentityServer4 с AzureAD

0 голосов
/ 02 апреля 2020

Я пытаюсь создать решение, используя ABP.io в качестве бэкэнда и мое пользовательское приложение Angular 8 в качестве внешнего интерфейса. Я хочу реализовать аутентификацию с использованием AzureAD с IdentityServer4. IdentityServer4 использует свою собственную страницу входа, чтобы показать все внешние Idps. Я хочу использовать свой пользовательский логин angular 8 для запуска внешнего входа. Есть ли способ, которым я могу это сделать. Я могу показать свою пользовательскую страницу входа, но как мне получить все зарегистрированные внешние Idps на моей пользовательской странице входа.

        context.Services.PostConfigure<IdentityServerOptions>(options =>
        {
            options.UserInteraction.LoginUrl = "http://localhost:5000/";
        });

        context.Services.AddAuthentication().AddCookie("cookie")
            .AddOpenIdConnect("aad", "AzureAD", options =>
            {
                options.Authority = $"{configuration["Authentication:OpenId:Authority"]}/{configuration["AzureAD:InternalTenant:TenantId"]}/v2.0";
                options.ClientId = configuration["Authentication:OpenId:ClientId"];
                //options.CallbackPath = configuration["AzureAD:InternalTenant:CallbackPath"];
                options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = false };

                options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
                options.SignOutScheme = IdentityServerConstants.SignoutScheme;
                //options.ForwardAuthenticate
                options.ResponseType = OpenIdConnectResponseType.IdTokenToken;
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    NameClaimType = "name",
                    RoleClaimType = "role"

                };
            });
...