diff options
author | Gerardo Zamudio <gerardozamudio@users.noreply.github.com> | 2016-02-24 23:48:50 -0600 |
---|---|---|
committer | Gerardo Zamudio <gerardozamudio@users.noreply.github.com> | 2016-02-24 23:48:50 -0600 |
commit | e4de6b3898b64b26d29aff31f21df5fda8055686 (patch) | |
tree | 575f8a65440f291d70a070d168eafca8c82a6459 /app/User/OAuthUserProvider.php | |
parent | d9ffbea174ea6524d0a22f8375ca8b3aa04a3c96 (diff) | |
parent | a6540bc604c837d92c9368540c145606723e97f7 (diff) |
Merge pull request #1 from fguillot/master
Update from upstream
Diffstat (limited to 'app/User/OAuthUserProvider.php')
-rw-r--r-- | app/User/OAuthUserProvider.php | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/app/User/OAuthUserProvider.php b/app/User/OAuthUserProvider.php new file mode 100644 index 00000000..dec26250 --- /dev/null +++ b/app/User/OAuthUserProvider.php @@ -0,0 +1,140 @@ +<?php + +namespace Kanboard\User; + +use Kanboard\Core\User\UserProviderInterface; + +/** + * OAuth User Provider + * + * @package user + * @author Frederic Guillot + */ +abstract class OAuthUserProvider implements UserProviderInterface +{ + /** + * Get external id column name + * + * @access public + * @return string + */ + abstract public function getExternalIdColumn(); + + /** + * User properties + * + * @access protected + * @var array + */ + protected $user = array(); + + /** + * Constructor + * + * @access public + * @param array $user + */ + public function __construct(array $user) + { + $this->user = $user; + } + + /** + * Return true to allow automatic user creation + * + * @access public + * @return boolean + */ + public function isUserCreationAllowed() + { + return false; + } + + /** + * Get internal id + * + * @access public + * @return string + */ + public function getInternalId() + { + return ''; + } + + /** + * Get external id + * + * @access public + * @return string + */ + public function getExternalId() + { + return $this->user['id']; + } + + /** + * Get user role + * + * @access public + * @return string + */ + public function getRole() + { + return ''; + } + + /** + * Get username + * + * @access public + * @return string + */ + public function getUsername() + { + return ''; + } + + /** + * Get full name + * + * @access public + * @return string + */ + public function getName() + { + return $this->user['name']; + } + + /** + * Get user email + * + * @access public + * @return string + */ + public function getEmail() + { + return $this->user['email']; + } + + /** + * Get external group ids + * + * @access public + * @return array + */ + public function getExternalGroupIds() + { + return array(); + } + + /** + * Get extra user attributes + * + * @access public + * @return array + */ + public function getExtraAttributes() + { + return array(); + } +} |