BotSharp/src/Infrastructure/BotSharp.Core/Users/Services/UserIdentity.cs
2023-10-30 22:47:14 -05:00

29 lines
838 B
C#

using Microsoft.AspNetCore.Http;
using System.Security.Claims;
namespace BotSharp.Core.Users.Services;
public class UserIdentity : IUserIdentity
{
private readonly IHttpContextAccessor _contextAccessor;
private IEnumerable<Claim> _claims => _contextAccessor.HttpContext.User.Claims;
public UserIdentity(IHttpContextAccessor contextAccessor)
{
_contextAccessor = contextAccessor;
}
public string Id
=> _claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
public string Email
=> _claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value;
public string FirstName
=> _claims.FirstOrDefault(x => x.Type == ClaimTypes.GivenName)?.Value;
public string LastName
=> _claims.FirstOrDefault(x => x.Type == ClaimTypes.Surname)?.Value;
}