Azure AD B2C Настройка политик множественного входа - PullRequest
0 голосов
/ 30 октября 2018

Я хотел бы реализовать несколько политик регистрации / входа в Azure AD B2C, аналогичных этому вопросу , но я не знаю, как настроить свое решение в Visual Studio для ссылки на разные указанные политики регистрации в файле web.config. Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете вызвать другую политику для пользователя другого типа, передав запрашиваемую политику из метода контроллера в промежуточное ПО аутентификации :

public IActionResult LogInForIndividualCustomer()
{
        return LogInFor(Constants.AuthenticationSchemes.B2COpenIdConnect, Constants.Policies.SignUpOrSignInWithPersonalAccount);
}

private IActionResult LogInFor(string authenticationScheme, string policy)
{
    if (!User.Identity.IsAuthenticated)
    {
        return new ChallengeResult(
            authenticationScheme,
            new AuthenticationProperties(
                new Dictionary<string, string>
                {
                    {Constants.AuthenticationProperties.Policy, policy}
                })
            {
                RedirectUri = Url.Action("LoggedIn", "Account", values: null, protocol: Request.Scheme)
            });
    }

    return RedirectToHome();
}

и затем установка URL перенаправления для запрошенной политики в промежуточном программном обеспечении аутентификации :

OnRedirectToIdentityProvider = async context =>
{
    var policy = context.Properties.Items.ContainsKey(Constants.AuthenticationProperties.Policy) ? context.Properties.Items[Constants.AuthenticationProperties.Policy] : Constants.Policies.SignUpOrSignInWithPersonalAccount;
    var configuration = await GetB2COpenIdConnectConfigurationAsync(context, policy);
    context.ProtocolMessage.IssuerAddress = configuration.AuthorizationEndpoint;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...