Skip to content

Commit dd00df7

Browse files
authored
[11.x] Remove deprecated functionality and simplify some feature tests (#1559)
* Drop JWT v3 * wip
1 parent a57723e commit dd00df7

File tree

4 files changed

+7
-34
lines changed

4 files changed

+7
-34
lines changed

src/Http/Controllers/AccessTokenController.php

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace Laravel\Passport\Http\Controllers;
44

55
use Laravel\Passport\TokenRepository;
6-
use Lcobucci\JWT\Parser as JwtParser;
76
use League\OAuth2\Server\AuthorizationServer;
87
use Nyholm\Psr7\Response as Psr7Response;
98
use Psr\Http\Message\ServerRequestInterface;
@@ -26,28 +25,16 @@ class AccessTokenController
2625
*/
2726
protected $tokens;
2827

29-
/**
30-
* The JWT parser instance.
31-
*
32-
* @var \Lcobucci\JWT\Parser
33-
*
34-
* @deprecated This property will be removed in a future Passport version.
35-
*/
36-
protected $jwt;
37-
3828
/**
3929
* Create a new controller instance.
4030
*
4131
* @param \League\OAuth2\Server\AuthorizationServer $server
4232
* @param \Laravel\Passport\TokenRepository $tokens
43-
* @param \Lcobucci\JWT\Parser $jwt
4433
* @return void
4534
*/
4635
public function __construct(AuthorizationServer $server,
47-
TokenRepository $tokens,
48-
JwtParser $jwt)
36+
TokenRepository $tokens)
4937
{
50-
$this->jwt = $jwt;
5138
$this->server = $server;
5239
$this->tokens = $tokens;
5340
}

src/PersonalAccessTokenFactory.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ class PersonalAccessTokenFactory
3535
* The JWT token parser instance.
3636
*
3737
* @var \Lcobucci\JWT\Parser
38-
*
39-
* @deprecated This property will be removed in a future Passport version.
4038
*/
4139
protected $jwt;
4240

@@ -126,7 +124,7 @@ protected function dispatchRequestToAuthorizationServer(ServerRequestInterface $
126124
* @param array $response
127125
* @return \Laravel\Passport\Token
128126
*/
129-
protected function findAccessToken(array $response)
127+
public function findAccessToken(array $response)
130128
{
131129
return $this->tokens->find(
132130
$this->jwt->parse($response['access_token'])->claims()->get('jti')

tests/Feature/AccessTokenControllerTest.php

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@
77
use Illuminate\Database\Schema\Blueprint;
88
use Illuminate\Support\Facades\Schema;
99
use Laravel\Passport\Client;
10-
use Laravel\Passport\ClientRepository;
1110
use Laravel\Passport\Database\Factories\ClientFactory;
1211
use Laravel\Passport\HasApiTokens;
1312
use Laravel\Passport\Passport;
13+
use Laravel\Passport\PersonalAccessTokenFactory;
1414
use Laravel\Passport\Token;
15-
use Laravel\Passport\TokenRepository;
16-
use Lcobucci\JWT\Configuration;
1715

1816
class AccessTokenControllerTest extends PassportTestCase
1917
{
@@ -78,10 +76,7 @@ public function testGettingAccessTokenWithClientCredentialsGrant()
7876
$expiresInSeconds = 31536000;
7977
$this->assertEqualsWithDelta($expiresInSeconds, $decodedResponse['expires_in'], 5);
8078

81-
$jwtAccessToken = Configuration::forUnsecuredSigner()->parser()->parse($decodedResponse['access_token']);
82-
$this->assertTrue($this->app->make(ClientRepository::class)->findActive($jwtAccessToken->claims()->get('aud'))->is($client));
83-
84-
$token = $this->app->make(TokenRepository::class)->find($jwtAccessToken->claims()->get('jti'));
79+
$token = $this->app->make(PersonalAccessTokenFactory::class)->findAccessToken($decodedResponse);
8580
$this->assertInstanceOf(Token::class, $token);
8681
$this->assertTrue($token->client->is($client));
8782
$this->assertFalse($token->revoked);
@@ -171,11 +166,7 @@ public function testGettingAccessTokenWithPasswordGrant()
171166
$expiresInSeconds = 31536000;
172167
$this->assertEqualsWithDelta($expiresInSeconds, $decodedResponse['expires_in'], 5);
173168

174-
$jwtAccessToken = Configuration::forUnsecuredSigner()->parser()->parse($decodedResponse['access_token']);
175-
$this->assertTrue($this->app->make(ClientRepository::class)->findActive($jwtAccessToken->claims()->get('aud'))->is($client));
176-
$this->assertTrue($this->app->make('auth')->createUserProvider()->retrieveById($jwtAccessToken->claims()->get('sub'))->is($user));
177-
178-
$token = $this->app->make(TokenRepository::class)->find($jwtAccessToken->claims()->get('jti'));
169+
$token = $this->app->make(PersonalAccessTokenFactory::class)->findAccessToken($decodedResponse);
179170
$this->assertInstanceOf(Token::class, $token);
180171
$this->assertFalse($token->revoked);
181172
$this->assertTrue($token->user->is($user));

tests/Unit/AccessTokenControllerTest.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Laravel\Passport\Exceptions\OAuthServerException;
66
use Laravel\Passport\Http\Controllers\AccessTokenController;
77
use Laravel\Passport\TokenRepository;
8-
use Lcobucci\JWT\Parser;
98
use League\OAuth2\Server\AuthorizationServer;
109
use League\OAuth2\Server\Exception\OAuthServerException as LeagueException;
1110
use Mockery as m;
@@ -26,7 +25,6 @@ public function test_a_token_can_be_issued()
2625
$request = m::mock(ServerRequestInterface::class);
2726
$response = m::type(ResponseInterface::class);
2827
$tokens = m::mock(TokenRepository::class);
29-
$jwt = m::mock(Parser::class);
3028

3129
$psrResponse = new Response();
3230
$psrResponse->getBody()->write(json_encode(['access_token' => 'access-token']));
@@ -36,22 +34,21 @@ public function test_a_token_can_be_issued()
3634
->with($request, $response)
3735
->andReturn($psrResponse);
3836

39-
$controller = new AccessTokenController($server, $tokens, $jwt);
37+
$controller = new AccessTokenController($server, $tokens);
4038

4139
$this->assertSame('{"access_token":"access-token"}', $controller->issueToken($request)->getContent());
4240
}
4341

4442
public function test_exceptions_are_handled()
4543
{
4644
$tokens = m::mock(TokenRepository::class);
47-
$jwt = m::mock(Parser::class);
4845

4946
$server = m::mock(AuthorizationServer::class);
5047
$server->shouldReceive('respondToAccessTokenRequest')->with(
5148
m::type(ServerRequestInterface::class), m::type(ResponseInterface::class)
5249
)->andThrow(LeagueException::invalidCredentials());
5350

54-
$controller = new AccessTokenController($server, $tokens, $jwt);
51+
$controller = new AccessTokenController($server, $tokens);
5552

5653
$this->expectException(OAuthServerException::class);
5754

0 commit comments

Comments
 (0)