You are here

public function OAuthSignatureMethod_HMAC_SHA1::build_signature in OAuth 1.0 6.3

Same name and namespace in other branches
  1. 6 OAuth.php \OAuthSignatureMethod_HMAC_SHA1::build_signature()
  2. 7.3 lib/OAuth.php \OAuthSignatureMethod_HMAC_SHA1::build_signature()

Build up the signature NOTE: The output of this function MUST NOT be urlencoded. the encoding is handled in OAuthRequest when the final request is serialized

Parameters

OAuthRequest $request:

OAuthConsumer $consumer:

OAuthToken $token:

Return value

string

Overrides OAuthSignatureMethod::build_signature

File

lib/OAuth.php, line 131
OAuth 1.0 server and client library.

Class

OAuthSignatureMethod_HMAC_SHA1
The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104] where the Signature Base String is the text and the key is the concatenated values (each first encoded per Parameter Encoding) of the Consumer Secret and…

Code

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