From 42225d85f90c64e399c2978b3b06cca0bda35032 Mon Sep 17 00:00:00 2001 From: Antonio Pauletich Date: Thu, 20 Aug 2020 18:35:47 +0200 Subject: [PATCH] Use only one PSR7 implementation --- composer.json | 3 +-- src/Guards/TokenGuard.php | 15 ++++++--------- src/Http/Controllers/AccessTokenController.php | 2 +- .../ApproveAuthorizationController.php | 2 +- src/Http/Controllers/AuthorizationController.php | 2 +- src/Http/Controllers/HandlesOAuthErrors.php | 2 +- src/Http/Middleware/CheckCredentials.php | 13 +++++-------- src/PersonalAccessTokenFactory.php | 13 +++++++------ tests/Unit/AccessTokenControllerTest.php | 2 +- tests/Unit/ApproveAuthorizationControllerTest.php | 2 +- 10 files changed, 25 insertions(+), 31 deletions(-) diff --git a/composer.json b/composer.json index b9b793c62..1cebaef92 100644 --- a/composer.json +++ b/composer.json @@ -27,9 +27,8 @@ "illuminate/encryption": "^6.18.31|^7.22.4", "illuminate/http": "^6.18.31|^7.22.4", "illuminate/support": "^6.18.31|^7.22.4", - "laminas/laminas-diactoros": "^2.2", "league/oauth2-server": "^8.1", - "nyholm/psr7": "^1.0", + "nyholm/psr7": "^1.3", "phpseclib/phpseclib": "^2.0", "symfony/psr-http-message-bridge": "^2.0" }, diff --git a/src/Guards/TokenGuard.php b/src/Guards/TokenGuard.php index 2aab387cc..7d81ed068 100644 --- a/src/Guards/TokenGuard.php +++ b/src/Guards/TokenGuard.php @@ -10,10 +10,6 @@ use Illuminate\Cookie\CookieValuePrefix; use Illuminate\Cookie\Middleware\EncryptCookies; use Illuminate\Http\Request; -use Laminas\Diactoros\ResponseFactory; -use Laminas\Diactoros\ServerRequestFactory; -use Laminas\Diactoros\StreamFactory; -use Laminas\Diactoros\UploadedFileFactory; use Laravel\Passport\ClientRepository; use Laravel\Passport\Passport; use Laravel\Passport\PassportUserProvider; @@ -21,6 +17,7 @@ use Laravel\Passport\TransientToken; use League\OAuth2\Server\Exception\OAuthServerException; use League\OAuth2\Server\ResourceServer; +use Nyholm\Psr7\Factory\Psr17Factory; use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory; class TokenGuard @@ -195,12 +192,12 @@ protected function getPsrRequestViaBearerToken($request) { // First, we will convert the Symfony request to a PSR-7 implementation which will // be compatible with the base OAuth2 library. The Symfony bridge can perform a - // conversion for us to a new Diactoros implementation of this PSR-7 request. + // conversion for us to a new Nyholm implementation of this PSR-7 request. $psr = (new PsrHttpFactory( - new ServerRequestFactory, - new StreamFactory, - new UploadedFileFactory, - new ResponseFactory + new Psr17Factory, + new Psr17Factory, + new Psr17Factory, + new Psr17Factory ))->createRequest($request); try { diff --git a/src/Http/Controllers/AccessTokenController.php b/src/Http/Controllers/AccessTokenController.php index c6bb70af9..03af02fd8 100644 --- a/src/Http/Controllers/AccessTokenController.php +++ b/src/Http/Controllers/AccessTokenController.php @@ -2,10 +2,10 @@ namespace Laravel\Passport\Http\Controllers; -use Laminas\Diactoros\Response as Psr7Response; use Laravel\Passport\TokenRepository; use Lcobucci\JWT\Parser as JwtParser; use League\OAuth2\Server\AuthorizationServer; +use Nyholm\Psr7\Response as Psr7Response; use Psr\Http\Message\ServerRequestInterface; class AccessTokenController diff --git a/src/Http/Controllers/ApproveAuthorizationController.php b/src/Http/Controllers/ApproveAuthorizationController.php index 9dc3b9f52..90023d5e2 100644 --- a/src/Http/Controllers/ApproveAuthorizationController.php +++ b/src/Http/Controllers/ApproveAuthorizationController.php @@ -3,8 +3,8 @@ namespace Laravel\Passport\Http\Controllers; use Illuminate\Http\Request; -use Laminas\Diactoros\Response as Psr7Response; use League\OAuth2\Server\AuthorizationServer; +use Nyholm\Psr7\Response as Psr7Response; class ApproveAuthorizationController { diff --git a/src/Http/Controllers/AuthorizationController.php b/src/Http/Controllers/AuthorizationController.php index 43dd3895e..22e08ef23 100644 --- a/src/Http/Controllers/AuthorizationController.php +++ b/src/Http/Controllers/AuthorizationController.php @@ -5,12 +5,12 @@ use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Http\Request; use Illuminate\Support\Str; -use Laminas\Diactoros\Response as Psr7Response; use Laravel\Passport\Bridge\User; use Laravel\Passport\ClientRepository; use Laravel\Passport\Passport; use Laravel\Passport\TokenRepository; use League\OAuth2\Server\AuthorizationServer; +use Nyholm\Psr7\Response as Psr7Response; use Psr\Http\Message\ServerRequestInterface; class AuthorizationController diff --git a/src/Http/Controllers/HandlesOAuthErrors.php b/src/Http/Controllers/HandlesOAuthErrors.php index 3ec32e711..b036f96bc 100644 --- a/src/Http/Controllers/HandlesOAuthErrors.php +++ b/src/Http/Controllers/HandlesOAuthErrors.php @@ -2,9 +2,9 @@ namespace Laravel\Passport\Http\Controllers; -use Laminas\Diactoros\Response as Psr7Response; use Laravel\Passport\Exceptions\OAuthServerException; use League\OAuth2\Server\Exception\OAuthServerException as LeagueException; +use Nyholm\Psr7\Response as Psr7Response; trait HandlesOAuthErrors { diff --git a/src/Http/Middleware/CheckCredentials.php b/src/Http/Middleware/CheckCredentials.php index c2efdb8e5..4fe71897a 100644 --- a/src/Http/Middleware/CheckCredentials.php +++ b/src/Http/Middleware/CheckCredentials.php @@ -4,13 +4,10 @@ use Closure; use Illuminate\Auth\AuthenticationException; -use Laminas\Diactoros\ResponseFactory; -use Laminas\Diactoros\ServerRequestFactory; -use Laminas\Diactoros\StreamFactory; -use Laminas\Diactoros\UploadedFileFactory; use Laravel\Passport\TokenRepository; use League\OAuth2\Server\Exception\OAuthServerException; use League\OAuth2\Server\ResourceServer; +use Nyholm\Psr7\Factory\Psr17Factory; use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory; abstract class CheckCredentials @@ -55,10 +52,10 @@ public function __construct(ResourceServer $server, TokenRepository $repository) public function handle($request, Closure $next, ...$scopes) { $psr = (new PsrHttpFactory( - new ServerRequestFactory, - new StreamFactory, - new UploadedFileFactory, - new ResponseFactory + new Psr17Factory, + new Psr17Factory, + new Psr17Factory, + new Psr17Factory ))->createRequest($request); try { diff --git a/src/PersonalAccessTokenFactory.php b/src/PersonalAccessTokenFactory.php index 34fefcd66..ca157f7bc 100644 --- a/src/PersonalAccessTokenFactory.php +++ b/src/PersonalAccessTokenFactory.php @@ -2,10 +2,11 @@ namespace Laravel\Passport; -use Laminas\Diactoros\Response; -use Laminas\Diactoros\ServerRequest; use Lcobucci\JWT\Parser as JwtParser; use League\OAuth2\Server\AuthorizationServer; +use Nyholm\Psr7\Response; +use Nyholm\Psr7\ServerRequest; +use Psr\Http\Message\ServerRequestInterface; class PersonalAccessTokenFactory { @@ -89,13 +90,13 @@ public function make($userId, $name, array $scopes = []) * @param \Laravel\Passport\Client $client * @param mixed $userId * @param array $scopes - * @return \Laminas\Diactoros\ServerRequest + * @return \Psr\Http\Message\ServerRequestInterface */ protected function createRequest($client, $userId, array $scopes) { $secret = Passport::$hashesClientSecrets ? $this->clients->getPersonalAccessClientSecret() : $client->secret; - return (new ServerRequest)->withParsedBody([ + return (new ServerRequest('POST', 'not-important'))->withParsedBody([ 'grant_type' => 'personal_access', 'client_id' => $client->id, 'client_secret' => $secret, @@ -107,10 +108,10 @@ protected function createRequest($client, $userId, array $scopes) /** * Dispatch the given request to the authorization server. * - * @param \Laminas\Diactoros\ServerRequest $request + * @param \Psr\Http\Message\ServerRequestInterface $request * @return array */ - protected function dispatchRequestToAuthorizationServer(ServerRequest $request) + protected function dispatchRequestToAuthorizationServer(ServerRequestInterface $request) { return json_decode($this->server->respondToAccessTokenRequest( $request, new Response diff --git a/tests/Unit/AccessTokenControllerTest.php b/tests/Unit/AccessTokenControllerTest.php index ae18953fb..aebf9c571 100644 --- a/tests/Unit/AccessTokenControllerTest.php +++ b/tests/Unit/AccessTokenControllerTest.php @@ -2,7 +2,6 @@ namespace Laravel\Passport\Tests\Unit; -use Laminas\Diactoros\Response; use Laravel\Passport\Exceptions\OAuthServerException; use Laravel\Passport\Http\Controllers\AccessTokenController; use Laravel\Passport\TokenRepository; @@ -10,6 +9,7 @@ use League\OAuth2\Server\AuthorizationServer; use League\OAuth2\Server\Exception\OAuthServerException as LeagueException; use Mockery as m; +use Nyholm\Psr7\Response; use PHPUnit\Framework\TestCase; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; diff --git a/tests/Unit/ApproveAuthorizationControllerTest.php b/tests/Unit/ApproveAuthorizationControllerTest.php index e715c759a..646876ec1 100644 --- a/tests/Unit/ApproveAuthorizationControllerTest.php +++ b/tests/Unit/ApproveAuthorizationControllerTest.php @@ -3,11 +3,11 @@ namespace Laravel\Passport\Tests\Unit; use Illuminate\Http\Request; -use Laminas\Diactoros\Response; use Laravel\Passport\Http\Controllers\ApproveAuthorizationController; use League\OAuth2\Server\AuthorizationServer; use League\OAuth2\Server\RequestTypes\AuthorizationRequest; use Mockery as m; +use Nyholm\Psr7\Response; use PHPUnit\Framework\TestCase; use Psr\Http\Message\ResponseInterface;