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