aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Identity/OAuth2Storage.php
diff options
context:
space:
mode:
authormrjive <mrjive@mrjive.it>2018-02-21 12:55:29 +0100
committerGitHub <noreply@github.com>2018-02-21 12:55:29 +0100
commit2d17e1c677cd981858a4080af98edb51bbb5d822 (patch)
tree54d5d148d368632158584ba7eec7872170524e00 /Zotlabs/Identity/OAuth2Storage.php
parentd7ecaa8b23a36ea1e9a0f185017930b5552c00b5 (diff)
parenta829256bc4803731881a51bddd19ee59a5a234ff (diff)
downloadvolse-hubzilla-2d17e1c677cd981858a4080af98edb51bbb5d822.tar.gz
volse-hubzilla-2d17e1c677cd981858a4080af98edb51bbb5d822.tar.bz2
volse-hubzilla-2d17e1c677cd981858a4080af98edb51bbb5d822.zip
Merge pull request #15 from redmatrix/dev
Dev
Diffstat (limited to 'Zotlabs/Identity/OAuth2Storage.php')
-rw-r--r--Zotlabs/Identity/OAuth2Storage.php81
1 files changed, 81 insertions, 0 deletions
diff --git a/Zotlabs/Identity/OAuth2Storage.php b/Zotlabs/Identity/OAuth2Storage.php
new file mode 100644
index 000000000..bc6db565c
--- /dev/null
+++ b/Zotlabs/Identity/OAuth2Storage.php
@@ -0,0 +1,81 @@
+<?php
+
+namespace Zotlabs\Identity;
+
+
+class OAuth2Storage extends \OAuth2\Storage\Pdo {
+
+ /**
+ * @param string $username
+ * @param string $password
+ * @return bool
+ */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+
+ return false;
+ }
+
+ /**
+ * @param string $username
+ * @return array|bool
+ */
+ public function getUserDetails($username)
+ {
+ return $this->getUser($username);
+ }
+
+
+ /**
+ *
+ * @param array $user
+ * @param string $password
+ * @return bool
+ */
+ protected function checkPassword($user, $password)
+ {
+
+ $x = account_verify_password($user,$password);
+ return((array_key_exists('channel',$x) && ! empty($x['channel'])) ? true : false);
+
+ }
+
+ /**
+ * @param string $username
+ * @return array|bool
+ */
+ public function getUser($username)
+ {
+
+ $x = channelx_by_nick($username);
+ if(! $x) {
+ return false;
+ }
+
+ return( [
+ 'username' => $x['channel_address'],
+ 'user_id' => $x['channel_id'],
+ 'firstName' => $x['channel_name'],
+ 'lastName' => '',
+ 'password' => 'NotARealPassword'
+ ] );
+ }
+
+ /**
+ * plaintext passwords are bad! Override this for your application
+ *
+ * @param string $username
+ * @param string $password
+ * @param string $firstName
+ * @param string $lastName
+ * @return bool
+ */
+ public function setUser($username, $password, $firstName = null, $lastName = null)
+ {
+ return true;
+ }
+
+} \ No newline at end of file