diff options
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; + } +} |