使用 Amazon.AspNetCore.Identity.Cognito 时有什么方法可以解决 ConfirmEmailAsync(TUser user, string token) NullReferenceException?

Is there any way to solve the ConfirmEmailAsync(TUser user, string token) NullReferenceException while using Amazon.AspNetCore.Identity.Cognito?

我正在使用 Amazon.AspNetCore.Identity.Cognito 并且在使用 UserManager 的 "ConfirmEmailAsync(TUser user, string token)" 时,我收到了 NullReferenceException。

提供截图:

我做的代码:

[HttpPost]
[ActionName("Confirm")]
public async Task<IActionResult> Confirm_Post(ConfirmModel model)
{
    if(ModelState.IsValid)
    {
        var user = await _userManager.FindByEmailAsync(model.Email);
        if(user == null)
        {
            ModelState.AddModelError("NotFound", "A user with given email address was not found");
        }

        var result = await _userManager.ConfirmEmailAsync(user, model.Code).ConfigureAwait(false);
        if(result.Succeeded)
        {
            return RedirectToAction("Index", "Home");
        }
        else
        {
            foreach(var item in result.Errors)
            {
                ModelState.AddModelError(item.Code, item.Description);
            }
        }
    }
}

请教一下如何解决这个问题,我是AWS的新手,感觉很费解。

好的,我得到了一个解决方案,现在它不再导致异常。 我使用 ConfirmSignUpAsync(TUser user, string confirmationCode, bool forcedAliasCreation) 方法而不是 ConfirmEmailAsync(TUser user, string token) 并且有效!!

var result = await ((CognitoUserManager<CognitoUser>)_userManager).ConfirmSignUpAsync(user, model.Code, true);
if(result.Succeeded)
{
     return RedirectToAction("Index", "Home");
}

下面分享了代码,如果有人觉得它有帮助,那将是一种荣幸。 谢谢大家!!