diff options
author | Christian Cleberg <hello@cleberg.net> | 2023-05-22 15:37:34 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2023-05-22 15:37:34 -0500 |
commit | 17ff8aec3a0d2e0a520849c42c40a154a0831495 (patch) | |
tree | 8860d29e9d0f9acd1535c7827045864fc31f8d01 /vendor/eher/oauth/src/Eher/OAuth/HmacSha1.php | |
download | michelangelo-17ff8aec3a0d2e0a520849c42c40a154a0831495.tar.gz michelangelo-17ff8aec3a0d2e0a520849c42c40a154a0831495.tar.bz2 michelangelo-17ff8aec3a0d2e0a520849c42c40a154a0831495.zip |
initial commit
Diffstat (limited to 'vendor/eher/oauth/src/Eher/OAuth/HmacSha1.php')
-rw-r--r-- | vendor/eher/oauth/src/Eher/OAuth/HmacSha1.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/eher/oauth/src/Eher/OAuth/HmacSha1.php b/vendor/eher/oauth/src/Eher/OAuth/HmacSha1.php new file mode 100644 index 0000000..be7da63 --- /dev/null +++ b/vendor/eher/oauth/src/Eher/OAuth/HmacSha1.php @@ -0,0 +1,31 @@ +<?php + +namespace Eher\OAuth; + +/** + * 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 Token Secret, separated by an '&' + * character (ASCII code 38) even if empty. + * - Chapter 9.2 ("HMAC-SHA1") + */ +class HmacSha1 extends SignatureMethod { + function get_name() { + return "HMAC-SHA1"; + } + + 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 = Util::urlencode_rfc3986($key_parts); + $key = implode('&', $key_parts); + + return base64_encode(hash_hmac('sha1', $base_string, $key, true)); + } +} |