diff options
author | Christian Cleberg <hello@cleberg.net> | 2023-05-22 15:19:08 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2023-05-22 15:19:08 -0500 |
commit | 39e8fb2036945303836c461a61f133b0059c8991 (patch) | |
tree | 39b747cf3c9eb82af48117781a436a91f1314776 /vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php | |
download | vox-populi-39e8fb2036945303836c461a61f133b0059c8991.tar.gz vox-populi-39e8fb2036945303836c461a61f133b0059c8991.tar.bz2 vox-populi-39e8fb2036945303836c461a61f133b0059c8991.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; + } +} |