AzureADB2C.UI — доступ к OpenIdConnectEvents (OnTokenValidated)

Я использую библиотеку AzureADB2C.UI для включения проверки подлинности Azure ADB2C. .

Но теперь я хотел бы добавить пользовательское утверждение после аутентификации, и я хотел сделать это во время OpenIdConnectEvents.OnTokenValidated. Но те события не разглашаются.

Любое предложение, какой наиболее подходящий способ добавить пользовательское утверждение в этой ситуации? И желательно продолжать использовать пакет, чтобы избежать слишком большого количества пользовательского кода. Я попробовал выполнить SO, но это не сработало вне.

Большое спасибо


person bob    schedule 28.04.2020    source источник


Ответы (1)


Вы можете обратиться к приведенному ниже примеру кода, чтобы добавить утверждения в принцип пользователя:

services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
            .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

services.Configure<OpenIdConnectOptions>(AzureADB2CDefaults.OpenIdScheme, options =>
{

    options.Events = new OpenIdConnectEvents
    {

        OnTokenValidated =  ctx =>
        {
            //query the user's groups using api 

            // add claims
            var claims = new List<Claim>
            {
                new Claim("groups", xxxx-xx-xx)
            };
            var appIdentity = new ClaimsIdentity(claims);

            ctx.Principal.AddIdentity(appIdentity);

            return Task.CompletedTask;
        },   
    };
});
person Nan Yu    schedule 29.04.2020
comment
Спасибо! Таким образом, установка ResponseType в ответе из stackoverflow.com/questions/59664401/ нарушает это. Я нырну немного глубже, чтобы попытаться понять это. Спасибо еще раз. - person bob; 29.04.2020
comment
у меня случайно было AzureADB2CDefaults.AuthenticationScheme дважды вместо OpenIdScheme - person user2565663; 23.06.2020