Files
annotations/Azaion.CommonSecurity/DTO/User.cs
T
Alex Bezdieniezhnykh 5fa18aa514 queue + local sqlite WIP
2024-12-17 18:46:33 +02:00

21 lines
599 B
C#

using System.Security.Claims;
namespace Azaion.CommonSecurity.DTO;
public class User
{
public Guid Id { get; set; }
public string Email { get; set; }
public RoleEnum Role { get; set; }
public User(IEnumerable<Claim> claims)
{
var claimDict = claims.ToDictionary(x => x.Type, x => x.Value);
Id = Guid.Parse(claimDict[SecurityConstants.CLAIM_NAME_ID]);
Email = claimDict[SecurityConstants.CLAIM_EMAIL];
if (!Enum.TryParse(claimDict[SecurityConstants.CLAIM_ROLE], out RoleEnum role))
role = RoleEnum.None;
Role = role;
}
}