summaryrefslogtreecommitdiff
path: root/vendor/OAuth/Common/Storage/Memory.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/OAuth/Common/Storage/Memory.php')
-rwxr-xr-xvendor/OAuth/Common/Storage/Memory.php139
1 files changed, 139 insertions, 0 deletions
diff --git a/vendor/OAuth/Common/Storage/Memory.php b/vendor/OAuth/Common/Storage/Memory.php
new file mode 100755
index 00000000..d42c2251
--- /dev/null
+++ b/vendor/OAuth/Common/Storage/Memory.php
@@ -0,0 +1,139 @@
+<?php
+
+namespace OAuth\Common\Storage;
+
+use OAuth\Common\Token\TokenInterface;
+use OAuth\Common\Storage\Exception\TokenNotFoundException;
+use OAuth\Common\Storage\Exception\AuthorizationStateNotFoundException;
+
+/*
+ * Stores a token in-memory only (destroyed at end of script execution).
+ */
+class Memory implements TokenStorageInterface
+{
+ /**
+ * @var object|TokenInterface
+ */
+ protected $tokens;
+
+ /**
+ * @var array
+ */
+ protected $states;
+
+ public function __construct()
+ {
+ $this->tokens = array();
+ $this->states = array();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function retrieveAccessToken($service)
+ {
+ if ($this->hasAccessToken($service)) {
+ return $this->tokens[$service];
+ }
+
+ throw new TokenNotFoundException('Token not stored');
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function storeAccessToken($service, TokenInterface $token)
+ {
+ $this->tokens[$service] = $token;
+
+ // allow chaining
+ return $this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hasAccessToken($service)
+ {
+ return isset($this->tokens[$service]) && $this->tokens[$service] instanceof TokenInterface;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function clearToken($service)
+ {
+ if (array_key_exists($service, $this->tokens)) {
+ unset($this->tokens[$service]);
+ }
+
+ // allow chaining
+ return $this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function clearAllTokens()
+ {
+ $this->tokens = array();
+
+ // allow chaining
+ return $this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function retrieveAuthorizationState($service)
+ {
+ if ($this->hasAuthorizationState($service)) {
+ return $this->states[$service];
+ }
+
+ throw new AuthorizationStateNotFoundException('State not stored');
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function storeAuthorizationState($service, $state)
+ {
+ $this->states[$service] = $state;
+
+ // allow chaining
+ return $this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hasAuthorizationState($service)
+ {
+ return isset($this->states[$service]) && null !== $this->states[$service];
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function clearAuthorizationState($service)
+ {
+ if (array_key_exists($service, $this->states)) {
+ unset($this->states[$service]);
+ }
+
+ // allow chaining
+ return $this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function clearAllAuthorizationStates()
+ {
+ $this->states = array();
+
+ // allow chaining
+ return $this;
+ }
+}