<?php namespace OAuth2\Storage; use OAuth2\Encryption\Jwt; class JwtAccessTokenTest extends BaseTest { /** @dataProvider provideStorage */ public function testSetAccessToken($storage) { if (!$storage instanceof PublicKey) { // incompatible storage return; } $crypto = new jwtAccessToken($storage); $publicKeyStorage = Bootstrap::getInstance()->getMemoryStorage(); $encryptionUtil = new Jwt(); $jwtAccessToken = array( 'access_token' => rand(), 'expires' => time() + 100, 'scope' => 'foo', ); $token = $encryptionUtil->encode($jwtAccessToken, $storage->getPrivateKey(), $storage->getEncryptionAlgorithm()); $this->assertNotNull($token); $tokenData = $crypto->getAccessToken($token); $this->assertTrue(is_array($tokenData)); /* assert the decoded token is the same */ $this->assertEquals($tokenData['access_token'], $jwtAccessToken['access_token']); $this->assertEquals($tokenData['expires'], $jwtAccessToken['expires']); $this->assertEquals($tokenData['scope'], $jwtAccessToken['scope']); } }