_userManager.GetUserAsync (User) retorna nulo

Estou tentando verificar o status de confirmação de e-mail dos usuários após o login e depois encaminhá-los de acordo.

Com base nesses dois segmentos:

Identidade principal do ASP.NET - obtenha o usuário atual

Como obter usuário atual no núcleo do asp.net

Eu tentei isso:

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");
    }
}

E também isso:

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");
    }
}

De dentro do controlador, masthisUser é sempre nulo.

Como verifico no logon se o email está confirmado e redireciono adequadamente?

questionAnswers(2)

yourAnswerToTheQuestion