AzureADB2C.UI-访问OpenIdConnectEvents(OnTokenValidated)

问题描述 投票:0回答:1

我使用库AzureADB2C.UI启用Azure ADB2C身份验证。

但是现在我想在身份验证后添加一个自定义声明,我想在OpenIdConnectEvents.OnTokenValidated期间执行此操作。但是这些事件并没有公开。

任何建议在这种情况下最合适的方法是添加自定义声明?并且最好继续使用该软件包,以避免过多的自定义代码。我尝试了following on SO,但没有成功。

非常感谢

asp.net-core azure-ad-b2c claims
1个回答
0
投票

您可以参考下面的代码示例将声明添加到用户原则中:

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;
        },   
    };
});
© www.soinside.com 2019 - 2024. All rights reserved.