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:37:34 -0500
committerChristian Cleberg <hello@cleberg.net>2023-05-22 15:37:34 -0500
commit17ff8aec3a0d2e0a520849c42c40a154a0831495 (patch)
tree8860d29e9d0f9acd1535c7827045864fc31f8d01 /vendor/eher/oauth/src/Eher/OAuth/SignatureMethod.php
downloadmichelangelo-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.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;
+ }
+}