| | <?php |
| |
|
| | namespace Kanboard\Auth; |
| |
|
| | use Kanboard\Core\Base; |
| | use Kanboard\Core\Security\PreAuthenticationProviderInterface; |
| | use Kanboard\Core\Security\SessionCheckProviderInterface; |
| | use Kanboard\User\ReverseProxyUserProvider; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class ReverseProxyAuth extends Base implements PreAuthenticationProviderInterface, SessionCheckProviderInterface |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $userInfo = null; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getName() |
| | { |
| | return 'ReverseProxy'; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function authenticate() |
| | { |
| | $username = $this->request->getRemoteUser(); |
| | $email = $this->request->getRemoteEmail(); |
| | $fullname = $this->request->getRemoteName(); |
| |
|
| | if (! empty($username)) { |
| | $userProfile = $this->userCacheDecorator->getByUsername($username); |
| | $this->userInfo = new ReverseProxyUserProvider($username, $email, $fullname, $userProfile ?: array()); |
| | return true; |
| | } |
| |
|
| | return false; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function isValidSession() |
| | { |
| | return $this->request->getRemoteUser() === $this->userSession->getUsername(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getUser() |
| | { |
| | return $this->userInfo; |
| | } |
| | } |
| |
|