/**
  * {@inheritdoc}
  * Implements the interface.
  */
 public function accessToken($requestParameters, $requestMethod, $requestUrl)
 {
     if (!isset($requestParameters['oauth_token'])) {
         // xAuth access token does not have the 'oauth_token' parameter
         $this->checkRequirements($requestParameters, $this->requiredParamsForXAuth);
     } else {
         return parent::accessToken($requestParameters, $requestMethod, $requestUrl);
     }
     $consumer = $this->getConsumerByKey($requestParameters['oauth_consumer_key']);
     try {
         $token = new UsernamePasswordToken($requestParameters['x_auth_username'], $requestParameters['x_auth_password'], $this->providerKey, array('XAUTH'));
         $token = $this->userAuthenticationProvider->authenticate($token);
     } catch (\Exception $e) {
         throw new HttpException(401);
     }
     return $this->createAccessToken($consumer, $token->getUser(), $requestParameters, $requestMethod, $requestUrl, $requestToken);
 }
 public function checkRequirements($requestParameters, array $requiredParameters = array())
 {
     return parent::checkRequirements($requestParameters, $requiredParameters);
 }