【发布时间】:2020-10-14 01:01:12
【问题描述】:
我在 ASP 网络核心应用程序中更新电话号码时遇到问题。 除电话号码外的所有字段都保存在数据库中。我尝试了 3 种不同的方法来更新手机:
- 手动设置
- 使用 UserManager.SetPhoneNumberAsync()
- 使用 UserManager.ChangePhoneNumberAsync() 生成令牌 他们都没有工作。并且没有任何错误。请帮帮我
[HttpPost][允许匿名]
public async Task UpdateLogin(UpdateAccountRequest request)
{
try {
var user = await UserService.FindExistingUserAsync(request.CurrentEmail, request.CurrentPhoneNumber);
var account = user.Accounts.SingleOrDefault(x = > x.AccountId == request.AccountId);
account.FirstName = request.PatientFirstName;
account.LastName = request.PatientLastName;
var changePhoneNumberToken = await UserManager.GenerateChangePhoneNumberTokenAsync(user, request.UpdatedPhoneNumber);
var changePhoneResult = await UserManager.ChangePhoneNumberAsync(user, request.UpdatedPhoneNumber, changePhoneNumberToken);
if (!changePhoneResult.Succeeded) {
return StatusCode(StatusCodes.Status500InternalServerError, changePhoneResult.Errors);
}
var updateResult = await UserManager.UpdateAsync(user);
if (!result.Succeeded) {
return StatusCode(StatusCodes.Status500InternalServerError);
}
return Ok("User updated");
}
catch (Exception ex) {
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
}
【问题讨论】:
标签: asp.net-core asp.net-identity