diff -u b/simple_oauth_extras/src/Controller/Oauth2AuthorizeController.php b/simple_oauth_extras/src/Controller/Oauth2AuthorizeController.php --- b/simple_oauth_extras/src/Controller/Oauth2AuthorizeController.php +++ b/simple_oauth_extras/src/Controller/Oauth2AuthorizeController.php @@ -2,15 +2,14 @@ namespace Drupal\simple_oauth_extras\Controller; -use GuzzleHttp\Psr7\Response; use Drupal\Core\Controller\ControllerBase; -use Drupal\simple_oauth\Entities\UserEntity; -use Symfony\Component\HttpFoundation\Request; use Drupal\Core\Routing\TrustedRedirectResponse; -use League\OAuth2\Server\Exception\OAuthServerException; +use Drupal\simple_oauth\Entities\UserEntity; use Drupal\simple_oauth\Plugin\Oauth2GrantManagerInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; /** * Oauth2AuthorizeController. @@ -54,7 +53,7 @@ public function authorize(Request $request) { $client_uuid = $request->get('client_id'); if (empty($client_uuid)) { - throw OAuthServerException::invalidClient(); + return new Response('Client authentication failed', 401); } $client_drupal_entities = $this->entityTypeManager() ->getStorage('consumer') @@ -62,12 +61,12 @@ 'uuid' => $client_uuid, ]); if (empty($client_drupal_entities)) { - throw OAuthServerException::invalidClient(); + return new Response('Client authentication failed', 401); } $client_drupal_entity = reset($client_drupal_entities); - $accessPreviouslyConfirmed = false; + $accessPreviouslyConfirmed = FALSE; $previous_token_entities = $this->entityTypeManager() ->getStorage('oauth2_token') @@ -75,13 +74,13 @@ 'auth_user_id' => $this->currentUser()->id(), 'client' => $client_uuid, ]); - if(!empty($previous_token_entities)){ - $accessPreviouslyConfirmed = true; + if (!empty($previous_token_entities)) { + $accessPreviouslyConfirmed = TRUE; } if ($this->currentUser() ->isAuthenticated() && ($client_drupal_entity->get('third_party') - ->getString() == 0 || $accessPreviouslyConfirmed)) { + ->getString() == 0 || $accessPreviouslyConfirmed)) { if ($request->get('response_type') == 'code') { $grant_type = 'code'; } @@ -101,12 +100,13 @@ ->hasPermission('grant simple_oauth codes'); $auth_request->setAuthorizationApproved($can_grant_codes); $response = $server->completeAuthorizationRequest($auth_request, - new Response()); + new \GuzzleHttp\Psr7\Response()); $redirect_response = TrustedRedirectResponse::create( $response->getHeaderLine('location'), $response->getStatusCode(), $response->getHeaders() ); + return $redirect_response; } }