public function tokenLoginAction($token)
{
$newSessionId = $this->loginTokenCache->get($token);
$this->loginTokenCache->remove($token);
if ($newSessionId === false) {
$this->systemLogger->log(sprintf('Token-based login failed, non-existing or expired token %s', $token), LOG_WARNING);
$this->redirect('index');
}
$this->systemLogger->log(sprintf('Token-based login succeeded, token %s', $token), LOG_DEBUG);
$newSession = $this->sessionManager->getSession($newSessionId);
if ($newSession->canBeResumed()) {
$newSession->resume();
}
if ($newSession->isStarted()) {
$newSession->putData('lastVisitedNode', null);
} else {
$this->systemLogger->log(sprintf('Failed resuming or starting session %s which was referred to in the login token %s.', $newSessionId, $token), LOG_ERR);
}
$this->replaceSessionCookie($newSessionId);
$this->redirect('index', 'Backend\\Backend');
}