asp.net-core - AzureADB2C.UI - 访问 OpenIdConnectEvents (OnTokenValidated)
问题描述
我使用库AzureADB2C.UI来启用 Azure ADB2C 身份验证。
但是现在我想在身份验证后添加一个自定义声明,并且我想在 OpenIdConnectEvents.OnTokenValidated 期间执行此操作。但这些事件并未曝光。
有什么建议在这种情况下添加自定义声明最合适的方法是什么?并且最好继续使用该包以避免过多的自定义代码。我在 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;
},
};
});
推荐阅读
- excel - SSIS 2017 循环遍历 Excel 文件并从脚本任务中获取文件名
- c# - 有没有办法在 web api c# 的构造函数中读取 cookie
- c++ - C++ E0137 表达式必须是可修改的左值
- r - R中的街道地址清洁
- ios - 是否可以在详细视图中编辑 SwiftUI 列表元素?
- javascript - 如何使用带有 d3.js 图形的 React Router 重定向到另一个屏幕
- linux - 使用 git 创建补丁时,包含“index ...”的行是什么意思
- node.js - 如何收集对消息的反应(Microsoft Bot Framework)?
- sql-server - 使用 Google 地图和 SQL Server 识别多边形内的标记不准确
- r - rpubs 的上传大小限制是多少?