/**
  * Authenticate with client id
  *
  * @param  TokenInterface $token
  * @return OAuth2ClientToken
  */
 protected function authenticateClientId(TokenInterface $token)
 {
     $client = $this->clientProvider->get($token->getClientId());
     $this->checkClient($client);
     $this->checkSignature($token, $client);
     $retval = new OAuth2ClientToken([]);
     $retval->setAuthenticated(true);
     $retval->setClientId($token->getClientId());
     $retval->setClient($client);
     $retval->setSignature($token->getSignature());
     return $retval;
 }