Exemplo n.º 1
0
 private function checkPasswordNeverUsed($user_id, $password)
 {
     $falseLogin = false;
     try {
         if (Sentry::getUser() === NULL) {
             // Need to login a user because Sentry checkHash
             // works only when a user is logged in.
             $falseLogin = true;
             $user = Sentry::findUserById($user_id);
             // Temporarily log the user in
             Sentry::login($user, false);
         }
     } catch (\RuntimeException $e) {
         // echo 'Error getting/logging in User';
     }
     $used_passwords = UsedPassword::userId($user_id)->get()->toArray();
     foreach ($used_passwords as $key => $data) {
         try {
             if (Sentry::checkHash($password, $data['password'])) {
                 // This password was used in the past
                 if ($falseLogin) {
                     Sentry::logout();
                 }
                 // Logout the temporary logged in user
                 return FALSE;
             }
         } catch (\RuntimeException $e) {
             // echo 'Error using Sentry checkHash';
         }
     }
     if ($falseLogin) {
         Sentry::logout();
     }
     // Logout the temporary logged in user
     return TRUE;
 }