berg/ldap-authenticator

This package is abandoned and no longer maintained. No replacement package was suggested.

A package for quickly setting up LDAP authentication

0.2.4 2015-10-07 20:06 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:59:07 UTC


README

Build Status

LDAP Authenticator

This package adds quick support for LDAP authentication using Zend Frameowork's LDAP authentication package. It includes support for Laravel 5.

Installation

composer require berg/ldap-authenticator

Laravel Config

This package comes with a driver to support quick setup using Laravel 5. To set up, first install the package and then register the driver by placing the following code in the AppServiceProvider's boot method:

Auth::extend('ldap', function($app) {
    $userProvider = new LdapUserProvider();
    return new Guard($userProvider, $app->make('Illuminate\Session\Store'));
});

Then create a file named ldap.php in the config/ folder. The file should return an array with the following values:

'hostname'      => '',
'port'          => 636,
'security'      => 'SSL',
'base_dn'       => '',
'bind_dn'       => '',
'bind_password' => ''

Lastly set the driver in the config/auth.php file to ldap.

If you wish to use the class for non-authentication tasks such as checking if a user exists, you may also use the built in service provider by adding the following line to the app.php config file:

'Berg\LdapAuthenticator\Laravel\LdapServiceProvider'

Usage

Once set up, using the Auth::attempt($username, $password) will automatically call on the ldap driver.

To use the service provider, call App::make('LdapAuthenticateService')

Exceptions

This package uses exceptions to handle invalid logins. The following errors are used:

'Berg\LdapAuthenticator\Exceptions\IncorrectCredentialsException'
'Berg\LdapAuthenticator\Exceptions\InvalidCredentialsException'
'Berg\LdapAuthenticator\Exceptions\UserDoesNotExistException

If using Laravel, these should be added to the $dontReport property in the Handler class. Custom handling of each exception can be added to the Handler->render() method.