diff options
| author | Andrey Filippov <afilippov1985@users.noreply.github.com> | 2017-12-01 00:21:23 +0300 |
|---|---|---|
| committer | Brent Shaffer <betterbrent@google.com> | 2017-12-01 00:21:23 +0300 |
| commit | c0c5f2c9ee1e676920062653b2d7b9e9095cd860 (patch) | |
| tree | 855f8fe83d0b650dc1790083acda8d0755c8e46d /test | |
| parent | 9cee290d4ba5611bf7e29fd2983f15101ef90bff (diff) | |
| download | oauth2-server-php-develop.tar.xz | |
Callable for customizing JWT payload (#804)develop
Diffstat (limited to 'test')
| -rw-r--r-- | test/OAuth2/ResponseType/JwtAccessTokenTest.php | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/test/OAuth2/ResponseType/JwtAccessTokenTest.php b/test/OAuth2/ResponseType/JwtAccessTokenTest.php index 7e37509..6195d55 100644 --- a/test/OAuth2/ResponseType/JwtAccessTokenTest.php +++ b/test/OAuth2/ResponseType/JwtAccessTokenTest.php @@ -40,6 +40,23 @@ class JwtAccessTokenTest extends TestCase $this->assertEquals(3600, $delta); $this->assertEquals($decodedAccessToken['id'], $decodedAccessToken['jti']); } + + public function testExtraPayloadCallback() + { + $jwtconfig = array('jwt_extra_payload_callable' => function() { + return array('custom_param' => 'custom_value'); + }); + + $server = $this->getTestServer($jwtconfig); + $jwtResponseType = $server->getResponseType('token'); + + $accessToken = $jwtResponseType->createAccessToken('Test Client ID', 123, 'test', false); + $jwt = new Jwt; + $decodedAccessToken = $jwt->decode($accessToken['access_token'], null, false); + + $this->assertArrayHasKey('custom_param', $decodedAccessToken); + $this->assertEquals('custom_value', $decodedAccessToken['custom_param']); + } public function testGrantJwtAccessToken() { @@ -140,7 +157,7 @@ class JwtAccessTokenTest extends TestCase $this->assertNotNull($response->getParameter('access_token')); } - private function getTestServer() + private function getTestServer($jwtconfig = array()) { $memoryStorage = Bootstrap::getInstance()->getMemoryStorage(); @@ -153,7 +170,7 @@ class JwtAccessTokenTest extends TestCase $server->addGrantType(new ClientCredentials($memoryStorage)); // make the "token" response type a JwtAccessToken - $config = array('issuer' => 'https://api.example.com'); + $config = array_merge(array('issuer' => 'https://api.example.com'), $jwtconfig); $server->addResponseType(new JwtAccessToken($memoryStorage, $memoryStorage, null, $config)); return $server; |
