Чтобы получить доступ к утверждениям User.Identity в ядре .Net, вам нужно использовать HttpContext. Вот моя ниже реализация
Первый регистр
services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();
А затем зарегистрироваться в классе обслуживания или контроллера
private readonly IHttpContextAccessor _httpContextAccessor;
public UserService(
IHttpContextAccessor httpContextAccessor,
IUnitOfWork unitOfWork,
UserManager<User> userManager,
SignInManager<User> signInManager,
RoleManager<ApplicationRole> roleManager)
{
_httpContextAccessor = httpContextAccessor;
_unitOfWork = unitOfWork;
_userManager = userManager;
_signInManager = signInManager;
_roleManager = roleManager;
_currentUserGuid = _httpContextAccessor?.HttpContext?.User?.FindFirst(UserClaimsKey.Sub)?.Value;
_currentUserName = _httpContextAccessor?.HttpContext?.User?.Identity?.Name;
_currentUserEmail = _currentUserGuid == null ? "" : userManager.FindByIdAsync(_currentUserGuid)?.Result?.Email;
}
Подробности реализации можно найти здесь
Пожалуйста, дайте мне знать, если у вас возникли проблемы