_userManager.GetUserAsync (Usuario) devuelve nulo

Estoy tratando de verificar el estado de confirmación de correo electrónico de un usuario después de iniciar sesión y luego dirigirlo según corresponda.

Basado en estos dos hilos:

ASP.NET Core Identity: obtenga el usuario actual

Cómo obtener el usuario actual en asp.net core

Intenté esto:

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
    ClaimsPrincipal currentUser = this.User;
    var thisUser = await _userManager.GetUserAsync(currentUser);
    if(thisUser.EmailConfirmed)
    {
        return View("~/Views/Task/Index.cshtml");
    }
    else
    {
        return View("ConfirmEmail");
    }
}

Y también esto:

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{   
    var thisUser = await _userManager.GetUserAsync(HttpContext.User);
    if(thisUser.EmailConfirmed)
    {
        return View("~/Views/Task/Index.cshtml");
    }
    else
    {
        return View("ConfirmEmail");
    }
}

Desde el interior del controlador perothisUser siempre es nulo.

¿Cómo verifico en el inicio de sesión que su correo electrónico esté confirmado y redirija adecuadamente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta