Я пытаюсь создать решение, используя 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"
};
});