예제 #1
0
        public virtual SubmitResult ResetPassword(ResetDTO dto)
        {
            var submitResult = new SubmitResult();

            try
            {
                if (ResetUserTokens.TryGetValue(dto.UserId, out string existing))
                {
                    var token = Shell.Encryptor.Decrypt(dto.Token);
                    if (token == existing)
                    {
                        var user = Unit.AuthUserRepository.FindSingle(dto.UserId);
                        user.Password = dto.Password.ToMD5();
                        Unit.AuthUserRepository.Update(user);
                        Unit.SaveChanges();
                    }
                }
                submitResult.Code = 0;
            }
            catch// (Exception e)
            {
                submitResult.Code = 1;
            }
            return(submitResult);
        }
예제 #2
0
        public async Task <IActionResult> Reset([FromBody] ResetDTO resetDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (resetDTO.NewPassword != resetDTO.ConfirmPassword)
            {
                return(BadRequest("Passwords do not match"));
            }

            var user = await db.Users.FirstOrDefaultAsync(o => o.UserName == resetDTO.UserName);

            if (user == null)
            {
                return(BadRequest("Invalid email"));
            }

            var result = await userManager.ResetPasswordAsync(user, resetDTO.Token, resetDTO.NewPassword);

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

            var body = user.FirstName + Environment.NewLine;

            body += Environment.NewLine;
            body += "Your password has been reset." + Environment.NewLine;

            await emailSender.SendEmailAsync(user.Email, user.FullName, "Password Reset", body);

            return(Ok());
        }
예제 #3
0
        public IActionResult Reset([FromBody] ResetDTO reset)
        {
            var result = userManager.ResetPassword(reset);

            if (result == null)
            {
                return(Ok("Bad"));
            }
            return(Ok("Ok"));
        }
예제 #4
0
        public Facilitator ResetPassword(ResetDTO reset)
        {
            Facilitator user = Data.Facilitators.Find(Int32.Parse(reset.email));

            if (user == null)
            {
                return(user);
            }
            Data.Update(user);
            GeneratePassword(user);
            user.ChangePassword = "******";

            Data.SaveChanges();
            return(user);
        }
        public async Task <ActionResult> CreatePassword([FromBody] ResetDTO verify)
        {
            string key = await _helperService.UpdatedPassword(verify.token, verify.password);

            if (key == "1")
            {
                return(Ok(new { StatusCode = StatusCodes.Status200OK, Message = "Password changed successfully." }));
            }
            else
            {
                return(Ok(new ErrorDto {
                    StatusCode = StatusCodes.Status400BadRequest, Message = "Token invalid or expired."
                }));
            }
        }
예제 #6
0
 public virtual IActionResult ResetPassword(ResetDTO dto)
 {
     SubmitResult = service.ResetPassword(dto);
     return(Respond());
 }