我创建了一个继承自ClaimsIdentity
的MyClaimsIdentity
类。当我运行我的应用程序时,CreateAsync
方法从未被调用,我也从未看到我添加的自定义声明。
没有编译错误,如果我添加默认构造函数,我可以看到这个类是构造好的,但CreateAsync
方法中没有断点。
public class MyClaimsFactory : ClaimsIdentityFactory<User, string>
{
public override async Task<ClaimsIdentity> CreateAsync(UserManager<User, string> manager, User user, string authenticationType)
{
var identity = await base.CreateAsync(manager, user, authenticationType);
if (!String.IsNullOrWhiteSpace(user.FirstName))
{
identity.AddClaim(new Claim("given_name", user.FirstName));
}
return identity;
}
将此设置为答案,谢谢。
您使用IdentityServer是偶然的吗?如果是这样,这可能会帮助你。。。github.com/IdentityServer/IdentityServer3/issues/1204–Jeremy Aug 3 16:13