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);
}