Exemplo n.º 1
0
        public async Task <ActionResult> ResetPassword(ResetPasswordInputViewModel reset)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest("Ooopppsss! Something wrong!"));
            }

            var user = await this.userManager.FindByEmailAsync(reset.Email);

            if (user == null)
            {
                // Don't reveal that the user does not exist
                return(this.RedirectToPage("./ResetPasswordConfirmation"));
            }

            var result = await this.userManager.ResetPasswordAsync(user, reset.Code, reset.Password);

            if (result.Succeeded)
            {
                return(this.RedirectToPage("./ResetPasswordConfirmation"));
            }

            foreach (var error in result.Errors)
            {
                this.ModelState.AddModelError(string.Empty, error.Description);
            }

            return(this.Ok());
        }
Exemplo n.º 2
0
        public async Task <ActionResult> ResetPassword(ResetPasswordInputViewModel resetPassword)
        {
            var user = await this._userManager.FindByEmailAsync(resetPassword.Email);

            if (user != null &&
                user.UserName == resetPassword.Username &&
                this.ModelState.IsValid)
            {
                var token = await this._userManager.GeneratePasswordResetTokenAsync(user);

                var result = await this._userManager.ResetPasswordAsync(user, token, resetPassword.NewPassword);

                if (!result.Succeeded)
                {
                    return(this.BadRequest(new { Message = "Reset Password failed!", resetPassword }));
                }

                return(this.Ok(new { Message = "Reset Password successful!" }));
            }

            return(this.BadRequest(new { Message = "Reset Password failed!", resetPassword }));
        }