public function onAuthenticationFailed(\Zend\Authentication\Event\Authenticate $event)
 {
     $identity = $event->getParam('identity');
     if ($identity !== null) {
         $this->authFails[$identity]++;
     }
     $ip = $event->getParam('ip');
     if ($ip !== null) {
         $this->authFails[$ip]++;
     }
 }
 public function onAuthenticate(Authenticate $event)
 {
     $result = $event->getResult();
     if ($result instanceof Result && $result->isValid()) {
         //If a previous adapter has already returned a valid result don't change that
         return null;
     }
     if ($this->adapter instanceof ValidatableAdapterInterface) {
         $this->adapter->setIdentity($event->getParam('identity'));
         $this->adapter->setCredential($event->getParam('credential'));
     }
     $result = $this->adapter->authenticate();
     $event->setResult($result);
     return $result;
 }
Esempio n. 3
0
 public function onAuthenticate(\Zend\Authentication\Event\Authenticate $event)
 {
     $result = $event->getResult();
     if ($result->isValid()) {
         $prevResult = $event->getPreviousResult();
         $identity = $result->getIdentity();
         if ($prevResult !== null) {
             $identity = $prevResult->getIdentity();
         }
         if (isset($identity['do2fa']) && $identity['do2fa']) {
             $twoFactorResponse = $event->getParam('twoFactorResponse');
             if (isset($twoFactorResponse)) {
                 if ($prevResult !== null && isset($prevResult->twoFactorToken) && $twoFactorResponse === $prevResult->twoFactorToken) {
                     $result = new \Zend\Authentication\Result(\Zend\Authentication\Result::SUCCESS, $identity);
                     $event->setResult($result);
                     return $result;
                 }
             }
             $result = new \Zend\Authentication\Result(-4, $identity, 'Requires 2 factor Auth');
             $result->twoFactorToken = 'efg456';
             //generate randomly
             $event->setResult($result);
             $event->stopPropagation();
             return $result;
         }
     }
     return $result;
 }
Esempio n. 4
0
 public function onAuthenticationFailed(\Zend\Authentication\Event\Authenticate $event)
 {
     $this->log->warn(sprintf('Authenication Failure for (%s) from (%s)', $event->getParam('identity'), $event->getParam('ip')));
 }