mirror of
https://github.com/elyby/oauth2-server.git
synced 2024-12-22 21:19:46 +05:30
Merge pull request #605 from jfilla/master
Added catch Runtime exception when parsing JWT string
This commit is contained in:
commit
66de05a395
@ -77,6 +77,9 @@ class BearerTokenValidator implements AuthorizationValidatorInterface
|
|||||||
} catch (\InvalidArgumentException $exception) {
|
} catch (\InvalidArgumentException $exception) {
|
||||||
// JWT couldn't be parsed so return the request as is
|
// JWT couldn't be parsed so return the request as is
|
||||||
throw OAuthServerException::accessDenied($exception->getMessage());
|
throw OAuthServerException::accessDenied($exception->getMessage());
|
||||||
|
} catch(\RuntimeException $exception){
|
||||||
|
//JWR couldn't be parsed so return the request as is
|
||||||
|
throw OAuthServerException::accessDenied('Error while decoding to JSON');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -226,4 +226,31 @@ class BearerResponseTypeTest extends \PHPUnit_Framework_TestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testDetermineMissingBearerInHeader()
|
||||||
|
{
|
||||||
|
$accessTokenRepositoryMock = $this->getMockBuilder(AccessTokenRepositoryInterface::class)->getMock();
|
||||||
|
|
||||||
|
$responseType = new BearerTokenResponse($accessTokenRepositoryMock);
|
||||||
|
$responseType->setPrivateKey(new CryptKey('file://' . __DIR__ . '/../Stubs/private.key'));
|
||||||
|
$responseType->setPublicKey(new CryptKey('file://' . __DIR__ . '/../Stubs/public.key'));
|
||||||
|
|
||||||
|
$accessTokenRepositoryMock = $this->getMockBuilder(AccessTokenRepositoryInterface::class)->getMock();
|
||||||
|
|
||||||
|
$authorizationValidator = new BearerTokenValidator($accessTokenRepositoryMock);
|
||||||
|
$authorizationValidator->setPrivateKey(new CryptKey('file://' . __DIR__ . '/../Stubs/private.key'));
|
||||||
|
$authorizationValidator->setPublicKey(new CryptKey('file://' . __DIR__ . '/../Stubs/public.key'));
|
||||||
|
|
||||||
|
$request = new ServerRequest();
|
||||||
|
$request = $request->withHeader('authorization', 'Bearer blah.blah.blah');
|
||||||
|
|
||||||
|
try {
|
||||||
|
$authorizationValidator->validateAuthorization($request);
|
||||||
|
} catch (OAuthServerException $e) {
|
||||||
|
$this->assertEquals(
|
||||||
|
'Error while decoding to JSON',
|
||||||
|
$e->getHint()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user