Class yii\authclient\signature\HmacSha1
Inheritance | yii\authclient\signature\HmacSha1 » yii\authclient\signature\BaseMethod » yii\base\Object |
---|---|
Available since extension's version | 2.0 |
Source Code | https://github.com/yiisoft/yii2-authclient/blob/master/signature/HmacSha1.php |
HmacSha1 represents 'HMAC-SHA1' signature method.
Note: This class requires PHP "Hash" extension(http://php.net/manual/en/book.hash.php).
Public Methods
Method | Description | Defined By |
---|---|---|
generateSignature() | Generates OAuth request signature. | yii\authclient\signature\HmacSha1 |
getName() | Return the canonical name of the Signature Method. | yii\authclient\signature\HmacSha1 |
init() | yii\authclient\signature\HmacSha1 | |
verify() | Verifies given OAuth request. | yii\authclient\signature\BaseMethod |
Method Details
Generates OAuth request signature.
public string generateSignature ( $baseString, $key ) | ||
$baseString | string |
Signature base string. |
$key | string |
Signature key. |
return | string |
Signature string. |
---|
public function generateSignature($baseString, $key)
{
return base64_encode(hash_hmac('sha1', $baseString, $key, true));
}
Return the canonical name of the Signature Method.
public string getName ( ) | ||
return | string |
Method name. |
---|
public function getName()
{
return 'HMAC-SHA1';
}
public void init ( ) |
public function init()
{
if (!function_exists('hash_hmac')) {
throw new NotSupportedException('PHP "Hash" extension is required.');
}
}
Defined in: yii\authclient\signature\BaseMethod::verify()
Verifies given OAuth request.
public boolean verify ( $signature, $baseString, $key ) | ||
$signature | string |
Signature to be verified. |
$baseString | string |
Signature base string. |
$key | string |
Signature key. |
return | boolean |
Success. |
---|
public function verify($signature, $baseString, $key)
{
$expectedSignature = $this->generateSignature($baseString, $key);
if (empty($signature) || empty($expectedSignature)) {
return false;
}
return (strcmp($expectedSignature, $signature) === 0);
}