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