コード例 #1
0
ファイル: Auth.php プロジェクト: spryker/Auth
 /**
  * @param string $username
  * @param string $password
  *
  * @return bool
  */
 public function authenticate($username, $password)
 {
     $hasUser = $this->userFacade->hasActiveUserByUsername($username);
     if (!$hasUser) {
         return false;
     }
     $userTransfer = $this->userFacade->getUserByUsername($username);
     $isValidPassword = $this->userFacade->isValidPassword($password, $userTransfer->getPassword());
     if (!$isValidPassword) {
         return false;
     }
     $userTransfer->setLastLogin((new \DateTime())->format(\DateTime::ATOM));
     $token = $this->generateToken($userTransfer);
     $this->registerAuthorizedUser($token, $userTransfer);
     $this->userFacade->updateUser(clone $userTransfer);
     $this->session->migrate();
     return true;
 }