使用 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");
}
下面分享了代码,如果有人觉得它有帮助,那将是一种荣幸。
谢谢大家!!
我正在使用 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");
}
下面分享了代码,如果有人觉得它有帮助,那将是一种荣幸。 谢谢大家!!