public void SetUp() { resetPasswordManager = new Mock <IResetPasswordManager>(); cryptoService = new Mock <ICryptoService>(); request = new VerifyResetPasswordRequest(); verifyResetPasswordQuery = new VerifyResetPasswordQuery(resetPasswordManager.Object, cryptoService.Object); }
public async Task <IActionResult> VerifyResetPassword([FromQuery] VerifyResetPasswordRequest request) { var response = await mediator.Send(request); Log.Information($"User {request.Email} verified their reset password link"); return(this.CreateResponse(response)); }
public async Task <IActionResult> VerifyResetPassword([FromQuery] VerifyResetPasswordRequest request) { var response = await mediator.Send(request); logger.LogResponse($"User #{request.UserId} verified reset password link", response.Error); return(this.CreateResponse(response)); }
public async Task VerifyResetPassword(VerifyResetPasswordRequest model) { var existing = await _userService.GetByEmail(model.EmailAddress); if (existing == null) { throw new NotFoundException(); } var claimType = "VerifyResetPassword".ToLower(); foreach (var uc in existing.UserClaims.Where(uc => uc.ClaimType == claimType)) { uc.IsClaimed = true; } existing.UserClaims.Add(new UserClaim { ClaimToken = _encryptionUtil.GetUniqueKey(10), CreatedAt = DateTime.UtcNow, ClaimType = claimType, }); await _userService.Update(existing); var user = _mapper.Map <IUser>(existing); await _notifyService.VerifyResetPassword(user, existing.UserClaims.Last()); }
public async Task <IActionResult> VerifyResetPassword([FromBody] VerifyResetPasswordRequest request) { await _userBusiness.VerifyResetPassword(request); return(Ok()); }