Class yii\authclient\signature\HmacSha

Inheritanceyii\authclient\signature\HmacSha » yii\authclient\signature\BaseMethod » yii\base\BaseObject
Subclassesyii\authclient\signature\HmacSha1
Available since extension's version2.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(https://php.net/manual/en/book.hash.php).

Public Properties

Hide inherited properties

Property Type Description Defined By
$algorithm string Hash algorithm, e.g. sha1, sha256 and so on. yii\authclient\signature\HmacSha

Public Methods

Hide inherited 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

Hide inherited properties

$algorithm public property

Hash algorithm, e.g. sha1, sha256 and so on.

See also https://php.net/manual/ru/function.hash-algos.php.

public string $algorithm null

Method Details

Hide inherited methods

generateSignature() public method

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

            
getName() public method

Return the canonical name of the Signature Method.

public string getName ( )
return string

Method name.

                public function getName()
{
    return 'HMAC-' . strtoupper($this->algorithm);
}

            
init() public method

public void init ( )

                public function init()
{
    if (!function_exists('hash_hmac')) {
        throw new NotSupportedException('PHP "Hash" extension is required.');
    }
}

            
verify() public method

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