示例#1
0
        public IHttpActionResult ResetPassword(PasswordResetBindingModel model)
        {
            var user = UserManager.FindById(model.UserId);

            if (user != null)
            {
                var            code   = Uri.UnescapeDataString(model.Code);
                IdentityResult result = UserManager.ResetPassword(model.UserId, code, model.NewPassword);
                if (result.Succeeded)
                {
                    return(Ok());
                }
            }

            return(NotFound());
        }
示例#2
0
        public async Task <IHttpActionResult> ResetPassword(PasswordResetBindingModel model)
        {
            var provider = new DpapiDataProtectionProvider("ReportManagement");

            this.AppUserManager.UserTokenProvider = new DataProtectorTokenProvider <ApplicationUser, string>(provider.Create("UserToken")) as IUserTokenProvider <ApplicationUser, string>;

            string resetToken = await this.AppUserManager.GeneratePasswordResetTokenAsync(model.UserId).ConfigureAwait(true);

            if (resetToken != null)
            {
                IdentityResult result = await this.AppUserManager.ResetPasswordAsync(model.UserId, resetToken, model.NewPassword).ConfigureAwait(true);

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
            }
            return(Ok("Password reset successfully"));
        }