userId = (string)$args['userId']; $this->subject = (string)$args['subject']; $this->pwdPrefix = (string)$args['pp']; $this->runNotBefore = (int)$args['notBefore']; } protected function run($argument): void { try { $user = $this->userManager->get($this->userId); if ($user === null) { return; } $this->verificationToken->check('irrelevant', $user, $this->subject, $this->pwdPrefix); } catch (InvalidTokenException $e) { if ($e->getCode() === InvalidTokenException::TOKEN_EXPIRED) { // make sure to only remove expired tokens $this->config->deleteUserValue($this->userId, 'core', $this->subject); } } } public function start(IJobList $jobList): void { if ($this->time->getTime() >= $this->runNotBefore) { $jobList->remove($this, $this->argument); parent::start($jobList); } } }