45 lines
1.0 KiB
PHP
45 lines
1.0 KiB
PHP
<?php
|
|
/*!
|
|
* This file is part of the OAuth PHP Library (https://code.google.com/p/oauth/)
|
|
*
|
|
* OAuth `PHP' Library is an open source software available under the MIT License.
|
|
*/
|
|
|
|
namespace Hybridauth\Thirdparty\OAuth;
|
|
|
|
/**
|
|
* Class OAuthSignatureMethodHMACSHA1
|
|
*
|
|
* @package Hybridauth\Thirdparty\OAuth
|
|
*/
|
|
class OAuthSignatureMethodHMACSHA1 extends OAuthSignatureMethod
|
|
{
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function get_name()
|
|
{
|
|
return "HMAC-SHA1";
|
|
}
|
|
|
|
/**
|
|
* @param $request
|
|
* @param $consumer
|
|
* @param $token
|
|
*
|
|
* @return string
|
|
*/
|
|
public function build_signature($request, $consumer, $token)
|
|
{
|
|
$base_string = $request->get_signature_base_string();
|
|
$request->base_string = $base_string;
|
|
|
|
$key_parts = array( $consumer->secret, $token ? $token->secret : '' );
|
|
|
|
$key_parts = OAuthUtil::urlencode_rfc3986($key_parts);
|
|
$key = implode('&', $key_parts);
|
|
|
|
return base64_encode(hash_hmac('sha1', $base_string, $key, true));
|
|
}
|
|
}
|