public void VerifyResetPasswordViewModel_PublicProperties()
        {
            var obj = new VerifyResetPasswordViewModel
            {
                UserId          = "userid",
                NewPassword     = "******",
                ConfirmPassword = "******",
                Nounce          = "nounce"
            };

            Assert.AreEqual("userid", obj.UserId);
            Assert.AreEqual("newpassword", obj.NewPassword);
            Assert.AreEqual("confirmpassword", obj.ConfirmPassword);
            Assert.AreEqual("nounce", obj.Nounce);
        }
예제 #2
0
        public async Task <IHttpActionResult> VerifyResetPassword(VerifyResetPasswordViewModel model)
        {
            var result = await UserManager.ResetPasswordAsync(model.UserId.TrimAndToLowerCase(), model.Nounce, model.NewPassword);

            if (!result.Succeeded)
            {
                BadRequest("Unable to reset password.");
            }

            // Check if user is Confirmed, if not confirm them through password reset email verification
            var user = await UserManager.FindByIdAsync(model.UserId.TrimAndToLowerCase());

            if (!user.EmailConfirmed)
            {
                user.EmailConfirmed = true;
                await UserManager.UpdateAsync(user);
            }

            return(Ok());
        }
        public async Task <IHttpActionResult> VerifyResetPassword(VerifyResetPasswordViewModel model)
        {
            var result = await UserManager.ResetPasswordAsync(model.UserId, model.Nounce, model.NewPassword);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("ResetPasswordVerification", new Exception("Unable to reset password."));
                return(BadRequest(ModelState));
            }

            // Check if user is Confirmed, if not confirm them through password reset email verification
            var user = await UserManager.FindByIdAsync(model.UserId);

            if (!user.EmailConfirmed)
            {
                user.EmailConfirmed = true;
                await UserManager.UpdateAsync(user);
            }

            return(Ok());
        }