using HackerNet.Application; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Identity; namespace HackerNet.Infrastructure.AspNet; public class HttpCurrentUser : ICurrentUser { private readonly IHttpContextAccessor _contextAccessor; private readonly UserManager _userManager; public HttpCurrentUser(IHttpContextAccessor contextAccessor, UserManager userManager) { _contextAccessor = contextAccessor; _userManager = userManager; } public string GetCurrentUserId() { var userPrincipal = _contextAccessor.HttpContext.User; return _userManager.GetUserId(userPrincipal); } }