Class yii\authclient\signature\HmacSha1

Inheritanceyii\authclient\signature\HmacSha1 » yii\authclient\signature\BaseMethod » yii\base\Object
Available since extension's version2.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

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

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('sha1', $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-SHA1';
}

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