/**
  * {@inheritdoc}
  */
 public function createAuthorizationFromRequest(ServerRequestInterface $request)
 {
     $parameters = $this->authorization_request_loader->loadParametersFromRequest($request);
     $client = $parameters['client'];
     $this->getParameterCheckerManager()->checkParameters($client, $parameters);
     $types = $this->getResponseTypes($parameters);
     $this->checkResponseTypeAllowedForTheClient($client, $parameters);
     $response_mode = $this->getResponseMode($parameters, $types);
     $redirect_uri = $parameters['redirect_uri'];
     $scope = array_key_exists('scope', $parameters) ? $parameters['scope'] : [];
     return new Authorization($parameters, $client, $types, $response_mode, $redirect_uri, $scope);
 }