Class yii\authclient\signature\HmacSha
Inheritance | yii\authclient\signature\HmacSha » yii\authclient\signature\BaseMethod » yii\base\BaseObject |
---|---|
Subclasses | yii\authclient\signature\HmacSha1 |
Available since extension's version | 2.1.3 |
Source Code | https://github.com/yiisoft/yii2-authclient/blob/master/src/signature/HmacSha.php |
HmacSha1 represents 'HMAC SHA' signature method.
Note: This class requires PHP "Hash" extension(http://php.net/manual/en/book.hash.php).
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$algorithm | string | Hash algorithm, e.g. sha1 , sha256 and so on. |
yii\authclient\signature\HmacSha |
Public Methods
Method | Description | Defined By |
---|---|---|
generateSignature() | Generates OAuth request signature. | yii\authclient\signature\HmacSha |
getName() | Return the canonical name of the Signature Method. | yii\authclient\signature\HmacSha |
init() | yii\authclient\signature\HmacSha | |
verify() | Verifies given OAuth request. | yii\authclient\signature\BaseMethod |
Property Details
Hash algorithm, e.g. sha1
, sha256
and so on.
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($this->algorithm, $baseString, $key, true));
}
Return the canonical name of the Signature Method.
public string getName ( ) | ||
return | string |
Method name. |
---|
public function getName()
{
return 'HMAC-' . strtoupper($this->algorithm);
}
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);
}