public async Task <ActionResult <Response <UserModel> > > ConfirmResetPassword( [FromBody] ConfirmPasswordResetRequest request) { var response = await _identityService.ConfirmPasswordReset(request); return(FromResponse(response)); }
public async Task <Response <UserModel> > ConfirmPasswordReset(ConfirmPasswordResetRequest request) { if (!request.Id.HasValue) { return(Response.ForError("Request id is required.")); } var user = await _usersRepository.GetById(request.Id.Value); if (user == null) { return(Response.ForError("User not found.")); } var identity = await _userManager.FindByIdAsync(user.AspNetUserId); var validationResult = await GetPasswordErrors(identity, request.NewPassword); if (!validationResult.Success) { return(validationResult); } var result = await _userManager.ConfirmEmailAsync(identity, request.Token); if (!result.Succeeded) { return(ConvertToResponse(result)); } result = await _userManager.RemovePasswordAsync(identity); if (!result.Succeeded) { return(ConvertToResponse(result)); } result = await _userManager.AddPasswordAsync(identity, request.NewPassword); if (!result.Succeeded) { return(ConvertToResponse(result)); } user.Active = true; await _usersRepository.Save(); return(Response <UserModel> .ForSuccess()); }
public async Task <ActionResult <UserModelResult> > ConfirmResetPassword([FromBody] ConfirmPasswordResetRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _usersService.ConfirmPasswordReset(request); if (!result.Success) { return(BadRequest(result)); } return(Ok()); }
public Task <Response <UserModel> > ConfirmPasswordReset(ConfirmPasswordResetRequest request) { Response <UserModel> response = Response.ForError(""); return(Task.FromResult(response)); }