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