Bolt\AccessControl\Login::updateAuthToken PHP Method

updateAuthToken() protected method

Set the Authtoken cookie and DB-entry. If it's already present, update it.
protected updateAuthToken ( Bolt\Storage\Entity\Users $userEntity ) : Bolt\Storage\Entity\Authtoken
$userEntity Bolt\Storage\Entity\Users
return Bolt\Storage\Entity\Authtoken
    protected function updateAuthToken($userEntity)
    {
        $username = $userEntity->getUsername();
        $cookieLifetime = (int) $this->cookieOptions['lifetime'];
        $tokenEntity = $this->getRepositoryAuthtoken()->getUserToken($userEntity->getUsername(), $this->getClientIp(), $this->getClientUserAgent());
        if ($tokenEntity) {
            $token = $tokenEntity->getToken();
        } else {
            $salt = $this->randomGenerator->generateString(32);
            $token = $this->getAuthToken($username, $salt);
            $tokenEntity = new Entity\Authtoken();
            $tokenEntity->setUsername($userEntity->getUsername());
            $tokenEntity->setToken($token);
            $tokenEntity->setSalt($salt);
        }
        $tokenEntity->setValidity(Carbon::create()->addSeconds($cookieLifetime));
        $tokenEntity->setIp($this->getClientIp());
        $tokenEntity->setLastseen(Carbon::now());
        $tokenEntity->setUseragent($this->getClientUserAgent());
        $this->getRepositoryAuthtoken()->save($tokenEntity);
        $this->systemLogger->debug("Saving new login token '{$token}' for user ID '{$username}'", ['event' => 'authentication']);
        return $tokenEntity;
    }