public async Task PasswordResetAsync(PasswordResetRequest request)
        {
            var CurrentUser = await userServices.GetUserByEmailAsync(request.UserEmail);

            var AcceptedEmail = jwtAuthManager.ConfirmPasswordResetToken(request.UserEmail, request.Token);

            if (AcceptedEmail == null)
            {
                throw new Exception($"User with {request.UserEmail} not found.");
            }
            if (CurrentUser.Email == request.UserEmail)
            {
                CurrentUser.Password = jwtAuthManager.GenerateTemporaryPasswordString();
                await emailSender.SendEmailAsync(request.UserEmail, "Reset Password - Maxshoes", $"Your new temporary password: '******'");

                await userServices.EditAsync(CurrentUser);
            }
        }
Example #2
0
        public async Task <ActionResult> PasswordReset(string UserEmail, string token)
        {
            var CurrentUser   = _userService.GetUserByEmail(UserEmail);
            var AcceptedEmail = _jwtAuthManager.ConfirmPasswordResetToken(UserEmail, token);

            if (AcceptedEmail == null)
            {
                return(BadRequest());
            }
            if (CurrentUser.Email == UserEmail)
            {
                CurrentUser.Password = _jwtAuthManager.GenerateTemporaryPasswordString();
                await _emailSender.SendEmailAsync(UserEmail, "Reset Password - ReactApp", $"Your new temporary password: '******'");

                _userService.Edit(CurrentUser);
                return(Ok());
            }
            return(BadRequest());
        }