summaryrefslogtreecommitdiff
path: root/app/Auth/GithubAuth.php
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-01-29 23:59:58 -0500
committerFrederic Guillot <fred@kanboard.net>2016-01-29 23:59:58 -0500
commit9b9d823f30f7f7744f412df8ca4c52d7be3c9977 (patch)
tree50a21284bf17246206c102153ff60a890888d4f2 /app/Auth/GithubAuth.php
parent04d8c6532c441c4ba4699020374ffab85685082d (diff)
Move Gitlab and Github authentication to external plugins
Diffstat (limited to 'app/Auth/GithubAuth.php')
-rw-r--r--app/Auth/GithubAuth.php143
1 files changed, 0 insertions, 143 deletions
diff --git a/app/Auth/GithubAuth.php b/app/Auth/GithubAuth.php
deleted file mode 100644
index 83699581..00000000
--- a/app/Auth/GithubAuth.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-namespace Kanboard\Auth;
-
-use Kanboard\Core\Base;
-use Kanboard\Core\Security\OAuthAuthenticationProviderInterface;
-use Kanboard\User\GithubUserProvider;
-
-/**
- * Github Authentication Provider
- *
- * @package auth
- * @author Frederic Guillot
- */
-class GithubAuth extends Base implements OAuthAuthenticationProviderInterface
-{
- /**
- * User properties
- *
- * @access protected
- * @var \Kanboard\User\GithubUserProvider
- */
- protected $userInfo = null;
-
- /**
- * OAuth2 instance
- *
- * @access protected
- * @var \Kanboard\Core\Http\OAuth2
- */
- protected $service;
-
- /**
- * OAuth2 code
- *
- * @access protected
- * @var string
- */
- protected $code = '';
-
- /**
- * Get authentication provider name
- *
- * @access public
- * @return string
- */
- public function getName()
- {
- return 'Github';
- }
-
- /**
- * Authenticate the user
- *
- * @access public
- * @return boolean
- */
- public function authenticate()
- {
- $profile = $this->getProfile();
-
- if (! empty($profile)) {
- $this->userInfo = new GithubUserProvider($profile);
- return true;
- }
-
- return false;
- }
-
- /**
- * Set Code
- *
- * @access public
- * @param string $code
- * @return GithubAuth
- */
- public function setCode($code)
- {
- $this->code = $code;
- return $this;
- }
-
- /**
- * Get user object
- *
- * @access public
- * @return GithubUserProvider
- */
- public function getUser()
- {
- return $this->userInfo;
- }
-
- /**
- * Get configured OAuth2 service
- *
- * @access public
- * @return \Kanboard\Core\Http\OAuth2
- */
- public function getService()
- {
- if (empty($this->service)) {
- $this->service = $this->oauth->createService(
- GITHUB_CLIENT_ID,
- GITHUB_CLIENT_SECRET,
- $this->helper->url->to('oauth', 'github', array(), '', true),
- GITHUB_OAUTH_AUTHORIZE_URL,
- GITHUB_OAUTH_TOKEN_URL,
- array()
- );
- }
-
- return $this->service;
- }
-
- /**
- * Get Github profile
- *
- * @access public
- * @return array
- */
- public function getProfile()
- {
- $this->getService()->getAccessToken($this->code);
-
- return $this->httpClient->getJson(
- GITHUB_API_URL.'user',
- array($this->getService()->getAuthorizationHeader())
- );
- }
-
- /**
- * Unlink user
- *
- * @access public
- * @param integer $userId
- * @return bool
- */
- public function unlink($userId)
- {
- return $this->user->update(array('id' => $userId, 'github_id' => ''));
- }
-}