drawmyattention / expauth
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.
Installs: 5 178
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 2
Forks: 3
Open Issues: 1
Requires
- php: >=5.5.0
- laravel/framework: >=5.2
Requires (Dev)
- phpunit/phpunit: ~4.7@dev
README
#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.