diff --git a/composer.json b/composer.json index 0f0506f5..cb395f18 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "lusitanian/oauth", + "name": "jeroenvermeulen/oauth", "description": "PHP 7.2 oAuth 1/2 Library", "keywords": ["oauth", "authentication", "authorization", "security"], "license": "MIT", @@ -15,7 +15,11 @@ { "name": "Elliot Chance", "email": "elliotchance@gmail.com" - } + }, + { + "name": "Jeroen Vermeulen", + "email": "info@jeroenvermeulen.eu" + } ], "scripts" : { "tests" : [ diff --git a/src/OAuth/Common/Token/AbstractToken.php b/src/OAuth/Common/Token/AbstractToken.php index 2ebdc023..8313245e 100644 --- a/src/OAuth/Common/Token/AbstractToken.php +++ b/src/OAuth/Common/Token/AbstractToken.php @@ -122,9 +122,4 @@ public function isExpired() && $this->getEndOfLife() !== TokenInterface::EOL_UNKNOWN && time() > $this->getEndOfLife(); } - - public function __sleep() - { - return ['accessToken']; - } } diff --git a/src/OAuth/OAuth1/Service/AbstractService.php b/src/OAuth/OAuth1/Service/AbstractService.php index b9442a6c..ca7d2c8b 100644 --- a/src/OAuth/OAuth1/Service/AbstractService.php +++ b/src/OAuth/OAuth1/Service/AbstractService.php @@ -23,6 +23,9 @@ abstract class AbstractService extends BaseAbstractService implements ServiceInt /** @var null|UriInterface */ protected $baseApiUri; + /** @var string */ + protected $signatureMethod = 'HMAC-SHA1'; + /** * {@inheritdoc} */ @@ -243,7 +246,7 @@ protected function getBasicAuthorizationHeaderInfo() 'oauth_nonce' => $this->generateNonce(), 'oauth_signature_method' => $this->getSignatureMethod(), 'oauth_timestamp' => $dateTime->format('U'), - 'oauth_version' => $this->getVersion(), + 'oauth_version' => '1.0', ]; return $headerParameters; @@ -274,17 +277,18 @@ protected function generateNonce($length = 32) */ protected function getSignatureMethod() { - return 'HMAC-SHA1'; + return $this->signatureMethod; } /** - * This returns the version used in the authorization header of the requests. + * Set the signature method. + * Currently supported: 'HMAC-SHA1' and 'HMAC-SHA256' * - * @return string + * @param string $method */ - protected function getVersion() + protected function setSignatureMethod($method) { - return '1.0'; + $this->signatureMethod = (string) $method; } /** diff --git a/src/OAuth/OAuth1/Signature/Signature.php b/src/OAuth/OAuth1/Signature/Signature.php index 23711d31..74463647 100644 --- a/src/OAuth/OAuth1/Signature/Signature.php +++ b/src/OAuth/OAuth1/Signature/Signature.php @@ -114,6 +114,8 @@ protected function hash($data) switch (strtoupper($this->algorithm)) { case 'HMAC-SHA1': return hash_hmac('sha1', $data, $this->getSigningKey(), true); + case 'HMAC-SHA256': + return hash_hmac('sha256', $data, $this->getSigningKey(), true); default: throw new UnsupportedHashAlgorithmException( 'Unsupported hashing algorithm (' . $this->algorithm . ') used.'