/// <summary> /// Posts the specified request. /// </summary> /// <param name="request">The request.</param> public void Post(UpdateUserPassword request) { var user = _userManager.GetUserById(request.Id); if (user == null) { throw new ResourceNotFoundException("User not found"); } if (request.ResetPassword) { var task = _userManager.ResetPassword(user); Task.WaitAll(task); } else { var success = _userManager.AuthenticateUser(user, request.CurrentPassword).Result; if (!success) { throw new UnauthorizedAccessException("Invalid user or password entered."); } var task = _userManager.ChangePassword(user, request.NewPassword); Task.WaitAll(task); } }
public async Task PostAsync(UpdateUserPassword request) { AssertCanUpdateUser(_authContext, _userManager, request.Id, true); var user = _userManager.GetUserById(request.Id); if (user == null) { throw new ResourceNotFoundException("User not found"); } if (request.ResetPassword) { await _userManager.ResetPassword(user).ConfigureAwait(false); } else { var success = await _userManager.AuthenticateUser(user.Name, request.CurrentPw, request.CurrentPassword, Request.RemoteIp, false).ConfigureAwait(false); if (success == null) { throw new ArgumentException("Invalid user or password entered."); } await _userManager.ChangePassword(user, request.NewPw).ConfigureAwait(false); var currentToken = _authContext.GetAuthorizationInfo(Request).Token; _sessionMananger.RevokeUserTokens(user.Id, currentToken); } }
public async Task PostAsync(UpdateUserPassword request) { AssertCanUpdateUser(_userManager, request.Id); var user = _userManager.GetUserById(request.Id); if (user == null) { throw new ResourceNotFoundException("User not found"); } if (request.ResetPassword) { await _userManager.ResetPassword(user).ConfigureAwait(false); } else { var success = await _userManager.AuthenticateUser(user.Name, request.CurrentPassword, Request.RemoteIp).ConfigureAwait(false); if (!success) { throw new ArgumentException("Invalid user or password entered."); } await _userManager.ChangePassword(user, request.NewPassword).ConfigureAwait(false); } }
/// <summary> /// Posts the specified request. /// </summary> /// <param name="request">The request.</param> public Task Post(UpdateUserPassword request) { return(PostAsync(request)); }
/// <summary> /// Posts the specified request. /// </summary> /// <param name="request">The request.</param> public void Post(UpdateUserPassword request) { var task = PostAsync(request); Task.WaitAll(task); }