我使用库AzureADB2C.UI启用Azure ADB2C身份验证。
但是现在我想在身份验证后添加一个自定义声明,我想在OpenIdConnectEvents.OnTokenValidated期间执行此操作。但是这些事件并没有公开。
任何建议在这种情况下最合适的方法是添加自定义声明?并且最好继续使用该软件包,以避免过多的自定义代码。我尝试了following on SO,但没有成功。
非常感谢
您可以参考下面的代码示例将声明添加到用户原则中:
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;
},
};
});