21 lines
899 B
C#
21 lines
899 B
C#
using System.Security.Claims;
|
|
using FrontOffice.BFF.Application.Common.Interfaces;
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace FrontOffice.BFF.WebApi.Common.Services;
|
|
|
|
public class CurrentUserService : ICurrentUserService
|
|
{
|
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
|
|
public CurrentUserService(IHttpContextAccessor httpContextAccessor)
|
|
{
|
|
_httpContextAccessor = httpContextAccessor;
|
|
}
|
|
|
|
public long? UserId => long?.Parse(_httpContextAccessor.HttpContext?.User?.FindFirstValue(ClaimTypes.NameIdentifier) ?? throw new InvalidOperationException());
|
|
public string? FirstName => _httpContextAccessor.HttpContext?.User?.FindFirstValue("FirstName");
|
|
public string? LastName => _httpContextAccessor.HttpContext?.User?.FindFirstValue("LastName");
|
|
public string? MobileNumber => _httpContextAccessor.HttpContext?.User?.FindFirstValue("MobileNumber");
|
|
}
|