LaravelPackages.net
Acme Inc.
Toggle sidebar
gponster/laravel-auth-file

File-based auth driver

27
2
v1.0
About gponster/laravel-auth-file

gponster/laravel-auth-file is a Laravel package for file-based auth driver. It currently has 2 GitHub stars and 27 downloads on Packagist (latest version v1.0). Install it with composer require gponster/laravel-auth-file. Discover more Laravel packages by gponster or browse all Laravel packages to compare alternatives.

Last updated

Laravel File-Based DB Auth

  • Laravel: 4.2
  • Author: Gponster

This package is not a replacement for laravels default Auth library, it's a simple auth driver using configuration file-based DB for username/password.

Installation

Firstly you want to include this package in your composer.json file.

"require": {
		"gponster/laravel-auth-file": "dev-master"
}

Now you'll want to update or install via composer.

composer update

Next you open up app/config/app.php and replace the AuthServiceProvider with

'Gonster\Auth\File\AuthServiceProvider',

NOTE It is very important that you replace the default service providers. If you do not wish to use Reminders, then remove the original Reminder server provider as it will cause errors.

Configuration is pretty easy too, take app/config/auth.php with its default values:

return array(

	'driver' => 'eloquent',

	'model' => 'User',

	'table' => 'users',

	'reminder' => array(

		'email' => 'emails.auth.reminder',

		'table' => 'password_reminders',

		'expire' => 60,

	),

);

and replace the auth driver to 'file'

'driver' => 'file',
'model' => 'AuthUser',
'username' => 'email',
'password' => 'password',

The simple AuthUser class

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
use Illuminate\Auth\GenericUser;

class AuthUser extends GenericUser implements UserInterface, RemindableInterface {

	public static $rules = array(
	   'email'=>'required|email',
	   'password'=>'required|alpha_num|between:6,12|confirmed',
   ); 

	/**
	 * Dynamically access the user's attributes.
	 *
	 * @param  string  $key
	 * @return mixed
	 */
	public function getAttribute($key)
	{
		return $this->__get($key);
	}

	/**
	 * Get the unique identifier for the user.
	 *
	 * @return mixed
	 */
	public function getAuthIdentifier()
	{
		return $this->attributes['email'];
	}

	/**
	 * Get the password for the user, needs to return the hashed password
	 *
	 * @return string
	 */
	public function getAuthPassword()
	{
		return $this->attributes['password'];
	}

	/**
	 * Get the e-mail address where password reminders are sent.
	 *
	 * @return string
	 */
	public function getReminderEmail()
	{
		return $this->attributes['email'];
	}
}
Comments