mrberggg / ldap-authenticator by mrberggg

A package for quickly setting up LDAP authentication
124
1
1
Package Data
Maintainer Username: mrberggg
Maintainer Contact: mrberggg@gmail.com (Matt Berg)
Package Create Date: 2015-05-06
Package Last Update: 2015-10-07
Language: PHP
License: MIT
Last Refreshed: 2019-11-10 03:33:06
Package Statistics
Total Downloads: 124
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 1
Total Forks: 1
Total Open Issues: 0

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.