30 lines
950 B
C#

using System.Security.Claims;
using System.Security.Principal;
namespace EnotaryoPH.Web.Common.Services
{
public class CurrentUserService : ICurrentUserService
{
private readonly ClaimsIdentity _user;
public CurrentUserService(IPrincipal principal) => _user = principal.Identity as ClaimsIdentity;
public string? GetEmail() => _user.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value;
public string? GetRole() => _user.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value;
public Guid GetUser_UID()
{
if (_user == null)
{
return Guid.Empty;
}
var uid = _user.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
Guid.TryParse(uid, out var user_UID);
return user_UID;
}
public bool IsAuthenticated() => _user?.IsAuthenticated ?? false;
}
}