Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion src/Http/Middleware/AddCustomProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public function handle(Request $request, Closure $next)

$provider = $request->get('provider');

if ($this->invalidProvider($provider)) {
if ($this->invalidProvider($provider) || $this->clientGrantType($request)) {
throw OAuthServerException::invalidRequest('provider');
}

Expand Down Expand Up @@ -78,4 +78,13 @@ protected function invalidProvider($provider)

return true;
}

protected function clientGrantType(Request $request)
{
if (! $request->has('client_credentials')) {
return false;
}

return true;
}
}
2 changes: 1 addition & 1 deletion tests/Feature/MultiauthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

class MultiauthTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
2 changes: 1 addition & 1 deletion tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

abstract class TestCase extends BaseTestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
35 changes: 33 additions & 2 deletions tests/Unit/AddCustomProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@

class AddCustomProviderTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

// Config default provider
config(['auth.guards.api.provider', 'users']);
}

public function tearDown()
public function tearDown(): void
{
Mockery::close();
}
Expand All @@ -30,6 +30,7 @@ public function testIfApiProviderOnAuthWasSetCorrectly()

$request = Mockery::mock(Request::class);
$request->shouldReceive('get')->andReturn('companies')->with('provider');
$request->shouldReceive('has')->andReturn(false);

$middleware = new AddCustomProvider();
$middleware->handle($request, function () {
Expand All @@ -49,6 +50,7 @@ public function testPassNotExistentProvider()

$request = Mockery::mock(Request::class);
$request->shouldReceive('get')->andReturn('not_found')->with('provider');
$request->shouldReceive('has')->andReturn(false);

$middleware = new AddCustomProvider();
$middleware->handle($request, function () {
Expand All @@ -62,6 +64,35 @@ public function testDoNotPassProviderToRequest()

$request = Mockery::mock(Request::class);
$request->shouldReceive('get')->andReturn(null)->with('provider');
$request->shouldReceive('has')->andReturn(false);

$middleware = new AddCustomProvider();
$middleware->handle($request, function () {
return 'response';
});
}

public function testPassClientCredentialsAndNoProvider()
{
$this->expectException(OAuthServerException::class);

$request = Mockery::mock(Request::class);
$request->shouldReceive('get')->andReturn(null)->with('provider');
$request->shouldReceive('has')->andReturn(true);

$middleware = new AddCustomProvider();
$middleware->handle($request, function () {
return 'response';
});
}

public function testDoNotPassNoClientCredentialsAndNoProvider()
{
$this->expectException(OAuthServerException::class);

$request = Mockery::mock(Request::class);
$request->shouldReceive('get')->andReturn(null)->with('provider');
$request->shouldReceive('has')->andReturn(false);

$middleware = new AddCustomProvider();
$middleware->handle($request, function () {
Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/AuthConfigHelperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

class AuthConfigHelperTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/HasApiTokensTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

class HasApiTokensTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
4 changes: 2 additions & 2 deletions tests/Unit/MultiAuthenticateMiddlewareTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class MultiAuthenticateMiddlewareTest extends TestCase
{
protected $auth;

public function setUp()
public function setUp(): void
{
parent::setUp();

Expand All @@ -31,7 +31,7 @@ public function setUp()
$this->auth = $this->app['auth'];
}

public function tearDown()
public function tearDown(): void
{
Mockery::close();

Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/PassportMultiauthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

class PassportMultiauthTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/ProviderRepositoryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

class ProviderRepositoryTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/ServiceProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

class ServiceProviderTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down