aboutsummaryrefslogtreecommitdiff
path: root/vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2023-05-22 15:19:08 -0500
committerChristian Cleberg <hello@cleberg.net>2023-05-22 15:19:08 -0500
commit39e8fb2036945303836c461a61f133b0059c8991 (patch)
tree39b747cf3c9eb82af48117781a436a91f1314776 /vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php
downloadvox-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.php40
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;
+ }
+}