amochohan / expauth by drawmyattention

A Laravel 5 authentication driver that supports Expression Engine's membership system.. New users will default to Laravel's bcrypt encryption (extremely secure), but existing users who have registered using Expression Engine can also be authenticated. Also handles their reset password procedure.
5,178
9
2
Package Data
Maintainer Username: drawmyattention
Maintainer Contact: amo.chohan@gmail.com (Amo Chohan)
Package Create Date: 2015-02-11
Package Last Update: 2019-08-09
Home Page: https://github.com/drawmyattention/expauth
Language: PHP
License: MIT
Last Refreshed: 2024-11-23 03:16:37
Package Statistics
Total Downloads: 5,178
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 9
Total Watchers: 2
Total Forks: 3
Total Open Issues: 1

Scrutinizer Code Quality Build Status Code Coverage Packagist License

#Laravel 5 Expression Engine User Authentication

Allows you to switch your Expression Engine website to Laravel, by handling the authentication of Expression Engine members. This package allows you to easily build a front end in Laravel for Expression Engine websites, without worrying about how existing members logins and registrations will work.

For Laravel 5.2 support, please checkout the 5.2 branch.

What it does

Expression Engine uses a number of different hashing algorithms, such as SHA512, SHA256, SHA1 and even MD5 (shudder), whilst Laravel 5 uses the much more secure bcrypt.

This package will allow your existing Expression Engine members to log in with their existing login credentials, and new users can benefit from having their data hashed with the latest bcrypt algorithm.

Furthermore, once an Expression Engine user has logged in, it's very easy to switch them over to bcrypt encryption as the needsRehash() method will always return true for Expression Engine members.

Installation

In your composer.json file, add:

    "require": {
       "drawmyattention/expauth": "1.1.*"
    }

Then, in config/app.php add

    'DrawMyAttention\ExpAuth\ExpressionEngineUserServiceProvider',
    'DrawMyAttention\ExpAuth\ExpressionEngineHasherServiceProvider',

and (optionally) comment out

    //'Illuminate\Hashing\HashServiceProvider',

In config/auth.php, change

    'driver' => 'eloquent',

to

    'driver' => 'ExpressionEngineAuth',

In your User model, make sure that you set the table and primary key fields as per the Expression Engine schema:

    protected $table = 'exp_members';
	protected $primaryKey = 'member_id';

and that's it!

Usage

Authentication works in exactly the same way as Laravel's regular auth methods.

Licence and credit

This package is open-sourced software licensed under the MIT license. Many thanks to the original package (pixelfusion/ExpAuth) upon which this was based, by PixelFusion.