コード例 #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;
 }
コード例 #2
0
ファイル: PasswordReset.php プロジェクト: spryker/Auth
 /**
  * @param string $token
  * @param string $newPassword
  *
  * @return bool
  */
 public function resetPassword($token, $newPassword)
 {
     $resetPasswordEntity = $this->authQueryContainer->queryForActiveCode($token)->findOne();
     if (empty($resetPasswordEntity)) {
         return false;
     }
     $userTransfer = $this->userFacade->getUserById($resetPasswordEntity->getFkUser());
     $userTransfer->setPassword($newPassword);
     $this->userFacade->updateUser($userTransfer);
     $resetPasswordEntity->setStatus(SpyResetPasswordTableMap::COL_STATUS_USED);
     $affectedRows = $resetPasswordEntity->save();
     return $affectedRows > 0;
 }