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/SignatureMethod.php | |
download | michelangelo-17ff8aec3a0d2e0a520849c42c40a154a0831495.tar.gz michelangelo-17ff8aec3a0d2e0a520849c42c40a154a0831495.tar.bz2 michelangelo-17ff8aec3a0d2e0a520849c42c40a154a0831495.zip |
initial commit
Diffstat (limited to 'vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php')
-rw-r--r-- | vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php b/vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php new file mode 100644 index 0000000..d938632 --- /dev/null +++ b/vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php @@ -0,0 +1,40 @@ +<?php + +namespace Eher\OAuth; + +/** + * A class for implementing a Signature Method + * See section 9 ("Signing Requests") in the spec + */ +abstract class SignatureMethod { + /** + * Needs to return the name of the Signature Method (ie HMAC-SHA1) + * @return string + */ + abstract public function get_name(); + + /** + * Build up the signature + * NOTE: The output of this function MUST NOT be urlencoded. + * the encoding is handled in Request when the final + * request is serialized + * @param Request $request + * @param Consumer $consumer + * @param OAuthToken $token + * @return string + */ + abstract public function build_signature($request, $consumer, $token); + + /** + * Verifies that a given signature is correct + * @param Request $request + * @param Consumer $consumer + * @param OAuthToken $token + * @param string $signature + * @return bool + */ + public function check_signature($request, $consumer, $token, $signature) { + $built = $this->build_signature($request, $consumer, $token); + return $built == $signature; + } +} |