Несколько Azure AD Аутентификация Identity Server 4 - PullRequest
0 голосов
/ 26 марта 2020

Я хотел бы знать, возможно ли настроить. NET Базовое приложение с использованием IdentityServer 4, которое может выполнять проверку подлинности для нескольких конфигураций AzureAd.

В настоящее время вы можете добавить 1 конфигурацию AzureAD, например:

services.AddAuthentication()
            .AddAzureAD(options => Configuration.Bind("AzureAd", options));

Но я хотел иметь возможность аутентифицировать пользователей из нескольких организаций с помощью AzureAd. Такой разный TenantId ... et c

Это нужно будет делать на лету, в зависимости от организации, выбранной в пользовательском интерфейсе.

Как я могу выполнить sh это?

1 Ответ

0 голосов
/ 27 марта 2020

Вы можете использовать AddOpenIdConnect промежуточное программное обеспечение:

services.AddAuthentication()
.AddOpenIdConnect("AADTenant1", "AADTenant1", options =>
{
    options.ClientId = "<app1>";
    options.Authority = "https://login.microsoftonline.com/<tenant1>/";             
    options.CallbackPath = "/signin-oidc-aadtenant1";            
    options.SaveTokens = true;                                 
    options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;

})
.AddOpenIdConnect("AADTenant2", "AADTenant2", options =>
{
    options.ClientId = "<app2>";
    options.Authority = "https://login.microsoftonline.com/<tenant2>/";             
    options.CallbackPath = "/signin-oidc-aadtenant2";
    options.SaveTokens = true;
    options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;

})

И запускать схему, которую хотите бросить вызов:

var callbackUrl = Url.Action("ExternalLoginCallback");

var props = new AuthenticationProperties
{
    RedirectUri = callbackUrl,
    Items =
    {
        { "scheme", provider },
        { "returnUrl", returnUrl }
    }
};

return Challenge(provider, props);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...