Skip to content

Commit 08b1dab

Browse files
authored
Added AuthenticationException to extend the behaviour of Laravel's default exception handler (#1633)
Co-authored-by: Chris Page <[email protected]>
1 parent 174a12a commit 08b1dab

12 files changed

+35
-21
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
namespace Laravel\Passport\Exceptions;
4+
5+
use Illuminate\Auth\AuthenticationException as Exception;
6+
7+
class AuthenticationException extends Exception
8+
{
9+
}

src/Http/Controllers/AuthorizationController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
namespace Laravel\Passport\Http\Controllers;
44

5-
use Illuminate\Auth\AuthenticationException;
65
use Illuminate\Contracts\Auth\StatefulGuard;
76
use Illuminate\Contracts\Routing\ResponseFactory;
87
use Illuminate\Http\Request;
98
use Illuminate\Support\Str;
109
use Laravel\Passport\Bridge\User;
1110
use Laravel\Passport\ClientRepository;
11+
use Laravel\Passport\Exceptions\AuthenticationException;
1212
use Laravel\Passport\Passport;
1313
use Laravel\Passport\TokenRepository;
1414
use League\OAuth2\Server\AuthorizationServer;
@@ -209,7 +209,7 @@ protected function denyRequest($authRequest, $user = null)
209209
*
210210
* @param \Illuminate\Http\Request $request
211211
*
212-
* @throws \Illuminate\Auth\AuthenticationException
212+
* @throws \Laravel\Passport\Exceptions\AuthenticationException
213213
*/
214214
protected function promptForLogin($request)
215215
{

src/Http/Middleware/CheckClientCredentials.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Laravel\Passport\Http\Middleware;
44

5-
use Illuminate\Auth\AuthenticationException;
5+
use Laravel\Passport\Exceptions\AuthenticationException;
66
use Laravel\Passport\Exceptions\MissingScopeException;
77

88
class CheckClientCredentials extends CheckCredentials
@@ -13,7 +13,7 @@ class CheckClientCredentials extends CheckCredentials
1313
* @param \Laravel\Passport\Token $token
1414
* @return void
1515
*
16-
* @throws \Illuminate\Auth\AuthenticationException
16+
* @throws \Laravel\Passport\Exceptions\AuthenticationException
1717
*/
1818
protected function validateCredentials($token)
1919
{

src/Http/Middleware/CheckClientCredentialsForAnyScope.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Laravel\Passport\Http\Middleware;
44

5-
use Illuminate\Auth\AuthenticationException;
5+
use Laravel\Passport\Exceptions\AuthenticationException;
66
use Laravel\Passport\Exceptions\MissingScopeException;
77

88
class CheckClientCredentialsForAnyScope extends CheckCredentials
@@ -13,7 +13,7 @@ class CheckClientCredentialsForAnyScope extends CheckCredentials
1313
* @param \Laravel\Passport\Token $token
1414
* @return void
1515
*
16-
* @throws \Illuminate\Auth\AuthenticationException
16+
* @throws \Laravel\Passport\Exceptions\AuthenticationException
1717
*/
1818
protected function validateCredentials($token)
1919
{

src/Http/Middleware/CheckCredentials.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace Laravel\Passport\Http\Middleware;
44

55
use Closure;
6-
use Illuminate\Auth\AuthenticationException;
6+
use Laravel\Passport\Exceptions\AuthenticationException;
77
use Laravel\Passport\TokenRepository;
88
use League\OAuth2\Server\Exception\OAuthServerException;
99
use League\OAuth2\Server\ResourceServer;
@@ -47,7 +47,7 @@ public function __construct(ResourceServer $server, TokenRepository $repository)
4747
* @param mixed ...$scopes
4848
* @return mixed
4949
*
50-
* @throws \Illuminate\Auth\AuthenticationException
50+
* @throws \Laravel\Passport\Exceptions\AuthenticationException
5151
*/
5252
public function handle($request, Closure $next, ...$scopes)
5353
{
@@ -93,7 +93,7 @@ protected function validate($psr, $scopes)
9393
* @param \Laravel\Passport\Token $token
9494
* @return void
9595
*
96-
* @throws \Illuminate\Auth\AuthenticationException
96+
* @throws \Laravel\Passport\Exceptions\AuthenticationException
9797
*/
9898
abstract protected function validateCredentials($token);
9999

src/Http/Middleware/CheckForAnyScope.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Laravel\Passport\Http\Middleware;
44

5-
use Illuminate\Auth\AuthenticationException;
5+
use Laravel\Passport\Exceptions\AuthenticationException;
66
use Laravel\Passport\Exceptions\MissingScopeException;
77

88
class CheckForAnyScope
@@ -15,7 +15,7 @@ class CheckForAnyScope
1515
* @param mixed ...$scopes
1616
* @return \Illuminate\Http\Response
1717
*
18-
* @throws \Illuminate\Auth\AuthenticationException|\Laravel\Passport\Exceptions\MissingScopeException
18+
* @throws \Laravel\Passport\Exceptions\AuthenticationException|\Laravel\Passport\Exceptions\MissingScopeException
1919
*/
2020
public function handle($request, $next, ...$scopes)
2121
{

src/Http/Middleware/CheckScopes.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Laravel\Passport\Http\Middleware;
44

5-
use Illuminate\Auth\AuthenticationException;
5+
use Laravel\Passport\Exceptions\AuthenticationException;
66
use Laravel\Passport\Exceptions\MissingScopeException;
77

88
class CheckScopes
@@ -15,7 +15,7 @@ class CheckScopes
1515
* @param mixed ...$scopes
1616
* @return \Illuminate\Http\Response
1717
*
18-
* @throws \Illuminate\Auth\AuthenticationException|\Laravel\Passport\Exceptions\MissingScopeException
18+
* @throws \Laravel\Passport\Exceptions\AuthenticationException|\Laravel\Passport\Exceptions\MissingScopeException
1919
*/
2020
public function handle($request, $next, ...$scopes)
2121
{

tests/Unit/AuthorizationControllerTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Laravel\Passport\Bridge\Scope;
99
use Laravel\Passport\Client;
1010
use Laravel\Passport\ClientRepository;
11+
use Laravel\Passport\Exceptions\AuthenticationException;
1112
use Laravel\Passport\Exceptions\OAuthServerException;
1213
use Laravel\Passport\Http\Controllers\AuthorizationController;
1314
use Laravel\Passport\Passport;
@@ -337,7 +338,7 @@ public function test_authorization_denied_if_unauthenticated_and_request_has_pro
337338

338339
public function test_logout_and_prompt_login_if_request_has_prompt_equals_to_login()
339340
{
340-
$this->expectException('Illuminate\Auth\AuthenticationException');
341+
$this->expectException(AuthenticationException::class);
341342

342343
$server = m::mock(AuthorizationServer::class);
343344
$response = m::mock(ResponseFactory::class);
@@ -368,7 +369,7 @@ public function test_logout_and_prompt_login_if_request_has_prompt_equals_to_log
368369

369370
public function test_user_should_be_authenticated()
370371
{
371-
$this->expectException('Illuminate\Auth\AuthenticationException');
372+
$this->expectException(AuthenticationException::class);
372373

373374
$server = m::mock(AuthorizationServer::class);
374375
$response = m::mock(ResponseFactory::class);

tests/Unit/CheckClientCredentialsForAnyScopeTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Http\Request;
66
use Laravel\Passport\Client;
7+
use Laravel\Passport\Exceptions\AuthenticationException;
78
use Laravel\Passport\Http\Middleware\CheckClientCredentialsForAnyScope;
89
use Laravel\Passport\Token;
910
use Laravel\Passport\TokenRepository;
@@ -85,7 +86,7 @@ public function test_request_is_passed_along_if_token_has_any_required_scope()
8586

8687
public function test_exception_is_thrown_when_oauth_throws_exception()
8788
{
88-
$this->expectException('Illuminate\Auth\AuthenticationException');
89+
$this->expectException(AuthenticationException::class);
8990

9091
$tokenRepository = m::mock(TokenRepository::class);
9192
$resourceServer = m::mock(ResourceServer::class);

tests/Unit/CheckClientCredentialsTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Http\Request;
66
use Laravel\Passport\Client;
7+
use Laravel\Passport\Exceptions\AuthenticationException;
78
use Laravel\Passport\Http\Middleware\CheckClientCredentials;
89
use Laravel\Passport\Token;
910
use Laravel\Passport\TokenRepository;
@@ -84,7 +85,7 @@ public function test_request_is_passed_along_if_token_and_scope_are_valid()
8485

8586
public function test_exception_is_thrown_when_oauth_throws_exception()
8687
{
87-
$this->expectException('Illuminate\Auth\AuthenticationException');
88+
$this->expectException(AuthenticationException::class);
8889

8990
$tokenRepository = m::mock(TokenRepository::class);
9091
$resourceServer = m::mock(ResourceServer::class);

tests/Unit/CheckForAnyScopeTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Laravel\Passport\Tests\Unit;
44

5+
use Laravel\Passport\Exceptions\AuthenticationException;
56
use Laravel\Passport\Http\Middleware\CheckForAnyScope as CheckScopes;
67
use Mockery as m;
78
use PHPUnit\Framework\TestCase;
@@ -47,7 +48,7 @@ public function test_exception_is_thrown_if_token_doesnt_have_scope()
4748

4849
public function test_exception_is_thrown_if_no_authenticated_user()
4950
{
50-
$this->expectException('Illuminate\Auth\AuthenticationException');
51+
$this->expectException(AuthenticationException::class);
5152

5253
$middleware = new CheckScopes;
5354
$request = m::mock();
@@ -60,7 +61,7 @@ public function test_exception_is_thrown_if_no_authenticated_user()
6061

6162
public function test_exception_is_thrown_if_no_token()
6263
{
63-
$this->expectException('Illuminate\Auth\AuthenticationException');
64+
$this->expectException(AuthenticationException::class);
6465

6566
$middleware = new CheckScopes;
6667
$request = m::mock();

tests/Unit/CheckScopesTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Laravel\Passport\Tests\Unit;
44

5+
use Laravel\Passport\Exceptions\AuthenticationException;
56
use Laravel\Passport\Http\Middleware\CheckScopes;
67
use Mockery as m;
78
use PHPUnit\Framework\TestCase;
@@ -46,7 +47,7 @@ public function test_exception_is_thrown_if_token_doesnt_have_scope()
4647

4748
public function test_exception_is_thrown_if_no_authenticated_user()
4849
{
49-
$this->expectException('Illuminate\Auth\AuthenticationException');
50+
$this->expectException(AuthenticationException::class);
5051

5152
$middleware = new CheckScopes;
5253
$request = m::mock();
@@ -59,7 +60,7 @@ public function test_exception_is_thrown_if_no_authenticated_user()
5960

6061
public function test_exception_is_thrown_if_no_token()
6162
{
62-
$this->expectException('Illuminate\Auth\AuthenticationException');
63+
$this->expectException(AuthenticationException::class);
6364

6465
$middleware = new CheckScopes;
6566
$request = m::mock();

0 commit comments

Comments
 (0)