summaryrefslogtreecommitdiff
path: root/app/Auth/ReverseProxy.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Auth/ReverseProxy.php')
-rw-r--r--app/Auth/ReverseProxy.php83
1 files changed, 0 insertions, 83 deletions
diff --git a/app/Auth/ReverseProxy.php b/app/Auth/ReverseProxy.php
deleted file mode 100644
index d119ca98..00000000
--- a/app/Auth/ReverseProxy.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Kanboard\Auth;
-
-use Kanboard\Core\Base;
-use Kanboard\Event\AuthEvent;
-
-/**
- * ReverseProxy backend
- *
- * @package auth
- * @author Sylvain VeyriƩ
- */
-class ReverseProxy extends Base
-{
- /**
- * Backend name
- *
- * @var string
- */
- const AUTH_NAME = 'ReverseProxy';
-
- /**
- * Get username from the reverse proxy
- *
- * @access public
- * @return string
- */
- public function getUsername()
- {
- return isset($_SERVER[REVERSE_PROXY_USER_HEADER]) ? $_SERVER[REVERSE_PROXY_USER_HEADER] : '';
- }
-
- /**
- * Authenticate the user with the HTTP header
- *
- * @access public
- * @return bool
- */
- public function authenticate()
- {
- if (isset($_SERVER[REVERSE_PROXY_USER_HEADER])) {
- $login = $_SERVER[REVERSE_PROXY_USER_HEADER];
- $user = $this->user->getByUsername($login);
-
- if (empty($user)) {
- $this->createUser($login);
- $user = $this->user->getByUsername($login);
- }
-
- $this->userSession->initialize($user);
- $this->container['dispatcher']->dispatch('auth.success', new AuthEvent(self::AUTH_NAME, $user['id']));
-
- return true;
- }
-
- return false;
- }
-
- /**
- * Create automatically a new local user after the authentication
- *
- * @access private
- * @param string $login Username
- * @return bool
- */
- private function createUser($login)
- {
- $email = strpos($login, '@') !== false ? $login : '';
-
- if (REVERSE_PROXY_DEFAULT_DOMAIN !== '' && empty($email)) {
- $email = $login.'@'.REVERSE_PROXY_DEFAULT_DOMAIN;
- }
-
- return $this->user->create(array(
- 'email' => $email,
- 'username' => $login,
- 'is_admin' => REVERSE_PROXY_DEFAULT_ADMIN === $login,
- 'is_ldap_user' => 1,
- 'disable_login_form' => 1,
- ));
- }
-}