24 lines
818 B
C#
24 lines
818 B
C#
using FJPSite.Data.Identity;
|
|
using Microsoft.AspNetCore.Identity;
|
|
using Microsoft.Extensions.Options;
|
|
using System.Security.Claims;
|
|
|
|
namespace FJPSite.Factories;
|
|
|
|
public class UserClaimFactory : UserClaimsPrincipalFactory<UserEntity, RoleEntity>
|
|
{
|
|
public UserClaimFactory(UserManager<UserEntity> userManager, RoleManager<RoleEntity> roleManager, IOptions<IdentityOptions> options) : base(userManager, roleManager, options)
|
|
{
|
|
}
|
|
|
|
public async override Task<ClaimsPrincipal> CreateAsync(UserEntity user)
|
|
{
|
|
var principal = await base.CreateAsync(user);
|
|
((ClaimsIdentity)principal.Identity).AddClaims(new[] {
|
|
new Claim(ClaimTypes.GivenName, user.Firstname),
|
|
new Claim(ClaimTypes.Surname, user.Surname)
|
|
});
|
|
return principal;
|
|
}
|
|
}
|