/**
  * @param \Psr\Http\Message\ServerRequestInterface $request
  * @param \Psr\Http\Message\ResponseInterface      $response
  * @param array                                    $args
  *
  * @return \Psr\Http\Message\ResponseInterface
  */
 public function token(Request $request, Response $response, $args)
 {
     $this->logger->info(substr(strrchr(rtrim(__CLASS__, '\\'), '\\'), 1) . ': ' . __FUNCTION__);
     // convert a request from PSR7 to hhtpFoundation
     $httpFoundationFactory = new HttpFoundationFactory();
     $symfonyRequest = $httpFoundationFactory->createRequest($request);
     $bridgeRequest = BridgeRequest::createFromRequest($symfonyRequest);
     $this->oAuth2server->handleTokenRequest($bridgeRequest)->send();
 }
 /**
  * @param \Psr\Http\Message\ServerRequestInterface $request
  * @param \Psr\Http\Message\ResponseInterface      $response
  * @param array                                    $next
  *
  * @return \Psr\Http\Message\ResponseInterface
  */
 public function validateToken($request)
 {
     $this->logger->info(substr(strrchr(rtrim(__CLASS__, '\\'), '\\'), 1) . ': ' . __FUNCTION__);
     // convert a request from PSR7 to hhtpFoundation
     $httpFoundationFactory = new HttpFoundationFactory();
     $symfonyRequest = $httpFoundationFactory->createRequest($request);
     $bridgeRequest = BridgeRequest::createFromRequest($symfonyRequest);
     if (!$this->oAuth2server->verifyResourceRequest($bridgeRequest)) {
         $this->oAuth2server->getResponse()->send();
         die;
     }
     // store the user_id
     $token = $this->oAuth2server->getAccessTokenData($bridgeRequest);
     $this->user = $token['user_id'];
     return TRUE;
 }