Added Encryption to Caching

- Access Token is encrypted with Secret Key, and stored in file
- Code to auto-update existing cache files to use encrypted token
- Tests fixes accordingly
This commit is contained in:
japatel
2015-01-26 13:38:17 -06:00
parent d84ddf85c9
commit 830cb16f0f
6 changed files with 128 additions and 11 deletions

View File

@@ -48,9 +48,11 @@ class OAuthTokenCredentialTest extends \PHPUnit_Framework_TestCase
'cache.enabled' => true,
'cache.FileName' => AuthorizationCacheTest::CACHE_FILE
);
$cred = new OAuthTokenCredential('clientId', 'clientSecret');
//{"clientId":{"clientId":"clientId","accessToken":"accessToken","tokenCreateTime":1421204091,"tokenExpiresIn":288000000}}
AuthorizationCache::push($config, 'clientId', 'accessToken', 1421204091, 288000000);
$cred = new OAuthTokenCredential('clientId', 'clientSecret');
AuthorizationCache::push($config, 'clientId', $cred->encrypt('accessToken'), 1421204091, 288000000);
$apiContext = new ApiContext($cred);
$apiContext->setConfig($config);
$this->assertEquals('clientId', $cred->getClientId());

View File

@@ -76,7 +76,7 @@ class AuthorizationCacheTest extends \PHPUnit_Framework_TestCase
$tokens = json_decode($contents, true);
$this->assertNotNull($contents);
$this->assertEquals('clientId', $tokens['clientId']['clientId']);
$this->assertEquals('accessToken', $tokens['clientId']['accessToken']);
$this->assertEquals('accessToken', $tokens['clientId']['accessTokenEncrypted']);
$this->assertEquals('tokenCreateTime', $tokens['clientId']['tokenCreateTime']);
$this->assertEquals('tokenExpiresIn', $tokens['clientId']['tokenExpiresIn']);
@@ -97,7 +97,7 @@ class AuthorizationCacheTest extends \PHPUnit_Framework_TestCase
$this->assertNotNull($result);
$this->assertTrue(is_array($result));
$this->assertEquals('clientId', $result['clientId']);
$this->assertEquals('accessToken', $result['accessToken']);
$this->assertEquals('accessToken', $result['accessTokenEncrypted']);
$this->assertEquals('tokenCreateTime', $result['tokenCreateTime']);
$this->assertEquals('tokenExpiresIn', $result['tokenExpiresIn']);