/** * @param string $token * * @return bool */ public function isValidToken($token) { $resetPasswordEntity = $this->authQueryContainer->queryForActiveCode($token)->findOne(); if (empty($resetPasswordEntity)) { return false; } $expiresInSeconds = $this->authConfig->getPasswordTokenExpirationInSeconds(); $expiresAt = $resetPasswordEntity->getCreatedAt(); $expiresAt->add(new \DateInterval('PT' . $expiresInSeconds . 'S')); $currentDateTime = new \DateTime(); if ($currentDateTime > $expiresAt) { $resetPasswordEntity->setStatus(SpyResetPasswordTableMap::COL_STATUS_EXPIRED); $resetPasswordEntity->save(); return false; } return true; }