Ejemplo n.º 1
0
        internal async Task <bool> Edit(string username, ProfileDTO user, ChangePassDTO pass)
        {
            var u = _context.Users.FirstOrDefault(u => u.UserName.Equals(username));

            if (u == null)
            {
                return(false);
            }

            IdentityResult res = IdentityResult.Success;

            if (pass != null)
            {
                res = await _userManager.ChangePasswordAsync(u, pass.currentpass, pass.newpass);
            }

            if (res.Succeeded)
            {
                u.Interests = user.interests;
                u.Languages = user.languages;
                _context.SaveChanges();
            }

            return(res.Succeeded);
        }
Ejemplo n.º 2
0
        public async Task <HttpResponseMessage> ChangePassword(string id, [FromBody] ChangePassDTO updated)
        {
            string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value;

            logger.Info("UserId: " + userId + ": Requesting Password Update for user id " + id);

            if (updated.Id != id)
            {
                logger.Error("Updated user id " + updated.Id + " doesn't match the id " + id + " from the request (route).");
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Updated " +
                                              "user id " + updated.Id + " doesn't match the id " + id + " from the request (route)."));
            }

            try
            {
                IdentityResult result = await usersService.ChangePasswordFromBodyAsync(id, updated);

                if (result == null)
                {
                    logger.Error(ModelState);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Something went wrong"));
                }

                logger.Info("Password changed successfully!");
                return(Request.CreateResponse(HttpStatusCode.OK, "Password changed successfully!"));
            }
            catch (Exception e)
            {
                logger.Error(e);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }
Ejemplo n.º 3
0
        public async Task <IdentityResult> ChangePasswordFromBodyAsync(string id, ChangePassDTO updated)
        {
            var foundUser = GetById(id);

            if (foundUser == null)
            {
                throw new HttpException("The user by id " + id + " was not found.");
            }


            var authUser = await db.AuthRepository.FindUser(foundUser.UserName, updated.OldPassword);


            if (authUser == null)
            {
                throw new HttpException("The username and the old password do not match.");
            }


            var result = await db.AuthRepository.ChangePasswordAsync(id, updated.OldPassword, updated.NewPassword);

            if (!result.Succeeded)
            {
                throw new HttpException("Failed to change password!");
            }

            return(result);
        }
Ejemplo n.º 4
0
        public async Task EditProfile(ProfileDTO user, ChangePassDTO pass = null)
        {
            string username = Context.User.Identity.Name;

            if (!String.IsNullOrEmpty(username))
            {
                bool success = await _dataService.Edit(username, user, pass);

                await Clients.Caller.SendAsync("Edit", success);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Change user password.
        /// </summary>
        /// <param name="passDTO"></param>
        /// <returns></returns>
        public async Task <IdentityResult> ChangePasswordAsync(ChangePassDTO passDTO)
        {
            if (passDTO.OldPassword == passDTO.NewPassword)
            {
                throw new MilvaUserFriendlyException("PasswordSameException");
            }

            var user = await _userManager.FindByNameAsync(passDTO.UserName).ConfigureAwait(false);

            return(await base.ChangePasswordAsync(user, passDTO.OldPassword, passDTO.NewPassword));
        }
Ejemplo n.º 6
0
        public async Task <object> ChangePassword([FromBody] ChangePassDTO model)
        {
            var responseModel = new ChangePassDTO();

            responseModel.Email = model.Email;
            var InputEmail = model.Email;

            if (Util.IsPhoneNumber(model.Email))
            {
                InputEmail = $"{model.Email}@hanoma.vn";
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //Check input Email Pass
            if (String.IsNullOrEmpty(model.Email) || String.IsNullOrEmpty(model.NewPassword) || String.IsNullOrEmpty(model.OldPassword))
            {
                responseModel.ErrorCode = "ACC006";
                responseModel.Message   = ConstMessage.GetMsgConst("ACC006");
                return(responseModel);
            }
            //Check exists User
            //if (_repositoryWrapper.AspNetUsers.CheckExistsUser(InputEmail))
            //{
            //    responseModel.ErrorCode = "ACC009";
            //    responseModel.Message = ConstMessage.GetMsgConst("ACC009");
            //    return responseModel;
            //}
            var user = await _userManager.FindByNameAsync(model.Email);

            if (user == null)
            {
                responseModel.ErrorCode = "ACC008";
                responseModel.Message   = ConstMessage.GetMsgConst("ACC008");
                return(responseModel);
            }
            var changePasswordResult = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword);

            if (changePasswordResult.Succeeded)
            {
                responseModel.ErrorCode = "00";
                responseModel.Message   = "Thiết lập mật khẩu thành công";
                return(Ok(responseModel));
            }
            else
            {
                responseModel.ErrorCode = "ACC015";
                responseModel.Message   = ConstMessage.GetMsgConst("ACC015");
                return(responseModel);
            }
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> ChangePassword(ChangePassDTO model)
        {
            var user = await TokenHelper.GetUser(User, _userManager);

            if (user == null)
            {
                return(RequestHandler.Unauthorized());
            }

            var result = await _userManager.ChangePasswordAsync(user, model.CurrentPassword, model.NewPassword);

            if (!result.Succeeded)
            {
                return(RequestHandler.BadRequest(result.Errors));
            }

            return(Ok());
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> ChangeUserPassword(ChangePassDTO personnelUpdateDTO)
        {
            var response = new ObjectResponse <IdentityResult>
            {
                Result = await _accountService.ChangePasswordAsync(personnelUpdateDTO).ConfigureAwait(false)
            };

            if (response.Result.Succeeded)
            {
                response.StatusCode = MilvaStatusCodes.Status200OK;
                response.Success    = true;
                response.Message    = _sharedLocalizer["PersonnelSuccessfullyChangePassword"];
            }
            else
            {
                response.StatusCode = MilvaStatusCodes.Status503ServiceUnavailable;
                response.Success    = false;
            }
            response.Result = null;
            return(Ok(response));
        }
Ejemplo n.º 9
0
        public async Task <ChangePassDTO> ChangePassword(ChangePassDTO changePassDTO)
        {
            ChangePassDTO output = new ChangePassDTO();
            var           jwt    = JsonConvert.DeserializeObject <SumProfileResponseDTO>(_httpContextAccessor.HttpContext.Request.Cookies["JWT"]);

            if (jwt != null)
            {
                _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jwt.JWT);
                string apiUrl = $"/api/v1/Account/ChangePassword";
                changePassDTO.UserId = jwt.UserId;
                var json          = JsonConvert.SerializeObject(changePassDTO, Formatting.Indented);
                var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
                var response      = await _client.PostAsync(apiUrl, stringContent);

                if (response.IsSuccessStatusCode)
                {
                    string responseStream = await response.Content.ReadAsStringAsync();

                    output = JsonConvert.DeserializeObject <ChangePassDTO>(responseStream);
                }
            }

            return(output);
        }
Ejemplo n.º 10
0
        public async Task <JsonResult> ChangePass(ChangePassDTO changePassDTO)
        {
            var result = await _repoWrapper.Profile.ChangePassword(changePassDTO);

            return(Json(result));
        }