public function login($username, $password, \Fox\Entities\AuthToken $authToken = null) { if ($authToken) { $hash = $authToken->get('hash'); } else { $hash = $this->getPasswordHash()->hash($password); } $user = $this->getEntityManager()->getRepository('User')->findOne(array('whereClause' => array('userName' => $username, 'password' => $hash))); return $user; }
/** * Login by authorization token * * @param string $username * @param \Fox\Entities\AuthToken $authToken * @return \Fox\Entities\User | null */ protected function loginByToken($username, \Fox\Entities\AuthToken $authToken = null) { if (!isset($authToken)) { return null; } $userId = $authToken->get('userId'); $user = $this->getEntityManager()->getEntity('User', $userId); $tokenUsername = $user->get('userName'); if ($username != $tokenUsername) { $GLOBALS['log']->alert('Unauthorized access attempt for user [' . $username . '] from IP [' . $_SERVER['REMOTE_ADDR'] . ']'); return null; } $user = $this->getEntityManager()->getRepository('User')->findOne(array('whereClause' => array('userName' => $username))); return $user; }