How to get Currently logged in UserId in ASP.NET Core?

Hello, I would like to know how can I get currently logged in User ID using ASP.NET Core Identity in ASP.NET Core 3 or 6? Trying to Use MVC Version 'User.Identity.GetUserId()' but it doesn't help.

Asked by:- jaya
: 482 At:- 10/4/2022 3:10:17 PM
ASP.NET Core Get UserId

1 Answers
profileImage Answered by:- vikas_jk

If you are using .NET Core 6 or above, trying using below code for getting UserId, in Controller

var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);


If above code doesn't work and you are using ASP.NET Core 2 or above, you can simply use below code to get UserId in Controller as below

public class HomeController: Controller
    private readonly UserManager<ApplicationUser> _userManager;
    public HomeController(UserManager<ApplicationUser> userManager)
        _userManager = userManager;

    public async Task<IActionResult> Index()
        var userId =  User.FindFirstValue(ClaimTypes.NameIdentifier) // will give the user's userId

       // to get current user info
       var user = await _userManager.FindByIdAsync(userId);
        // to give the user's userName
        var userName =  User.FindFirstValue(ClaimTypes.Name) 
        // For ASP.NET Core <= 3.1
        ApplicationUser applicationUser = await _userManager.GetUserAsync(User);
        string userEmail = applicationUser?.Email; // will give the user's Email

       // For ASP.NET Core >= 5.0
       var userEmail =  User.FindFirstValue(ClaimTypes.Email) // will give the user's Email

To Get UserId in View in ASP.NET Core

@inject Microsoft.AspNetCore.Identity.UserManager<ApplicationUser> _userManager
   string userId = _userManager.GetUserId(User); 

In APIController

var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value

To check if user is logged in, within a View in ASP.NET Core:

@inject SignInManager<User> SignInManager

@if (SignInManager.IsSignedIn(User))
  <div> User logged in</div>

That should work.

At:- 10/4/2022 3:19:30 PM
Thanks for correct answer, I was able to get userId. 0
By : jaya - at :- 10/4/2022 3:26:09 PM

Login/Register to answer
Register directly by posting answer/details

Full Name *

Email *

By posting your answer you agree on privacy policy & terms of use