Beispiel #1
0
        public async Task <IActionResult> ChangePassword([FromBody] NewPasswordModelRequest modelRequest)
        {
            var(_, isFailure, value, error) = await _authenticationService.ChangePassword(modelRequest);

            if (isFailure)
            {
                return(BadRequest(error));
            }
            return(Ok(new{ value }));
        }
Beispiel #2
0
        public async Task ChangePassword()
        {
            NewPasswordModelRequest newPasswordModel = new NewPasswordModelRequest
            {
                NewPassword = "******"
            };

            var response = await HttpClient.PutAsJsonAsync($"api/v1/auth/change-password", newPasswordModel);

            response.IsSuccessStatusCode.Should().BeTrue();
        }
        public async Task <Result <string, Error> > ChangePassword(NewPasswordModelRequest newPasswordModelRequest)
        {
            var id   = Guid.Parse(_accessor.HttpContext.User.Claims.First(c => c.Type == "userId").Value);
            var user = await _userRepository.GetById(id);

            var samePassword = _passwordHasher.Check(user.PasswordHash, newPasswordModelRequest.NewPassword);

            if (samePassword)
            {
                return(Result.Failure <string, Error>(ErrorsList.SamePassword));
            }
            user.UpdatePassword(_passwordHasher.CreateHash(newPasswordModelRequest.NewPassword));

            _userRepository.Update(user);
            await _userRepository.SaveChanges();

            return(Result.Success <string, Error>("Password changed!"));
        }
 public static NewPasswordModelRequest WithNewPassword(this NewPasswordModelRequest modelRequest, string newPassword)
 {
     modelRequest.NewPassword = newPassword;
     return(modelRequest);
 }