Authentication Providers

New authentication backends can be written with very few lines of code.

Provider Registration

In the method initialize() of your plugin, call the method register() of the class AuthenticationManager:

public function initialize()
{
    $this->authenticationManager->register(new ReverseProxyLdapAuth($this->container));
}

The object provided to the method register() must implement one of the pre-defined authentication interfaces.

Those interfaces are defined in the namepsace Kanboard\Core\Security:

  • Kanboard\Core\Security\PreAuthenticationProviderInterface
  • Kanboard\Core\Security\PostAuthenticationProviderInterface
  • Kanboard\Core\Security\PasswordAuthenticationProviderInterface
  • Kanboard\Core\Security\OAuthAuthenticationProviderInterface

The only requirement is to implement the interfaces, you class can be written the way you want and located anywhere on the disk.

User Provider

When the authentication is successful, your driver must return an object that represents the user. This object must implement the interface Kanboard\Core\User\UserProviderInterface.