longman / laravel-dummyuser
Package to implement dummy user authorization (without database) for Laravel 5.x
Installs: 3 349
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.5.9
- illuminate/auth: 5.*
- illuminate/support: 5.*
Requires (Dev)
- doctrine/inflector: 1.1.*
- doctrine/instantiator: 1.0.*
- longman/php-code-style: ^1.0
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.8
README
Dummy (without database) user authorization for Laravel 5.x
Table of Contents
Installation
Install this package through Composer.
Edit your project's composer.json
file to require longman/laravel-dummyuser
Create composer.json file:
{ "name": "yourproject/yourproject", "type": "project", "require": { "longman/laravel-dummyuser": "~1.0" } }
And run composer update
Or run a command in your command line:
composer require longman/laravel-dummyuser
After updating composer, add the DummyUserServiceProvider to the providers array in config/app.php
Longman\LaravelDummyUser\DummyUserServiceProvider::class,
In the config/auth.php
file you should add dummy guard in the guards
array:
'guards' => [ . . . 'dummy' => [ 'driver' => 'session', 'provider' => 'dummy', ], ]
and provider in the providers
array
'providers' => [ . . . 'dummy' => [ 'driver' => 'dummy', 'lifetime' => 3600, // Cache lifetime in minutes ], ]
Usage
You can specify default guard dummy
in the config/auth.php
file (defaults
array) and use just Auth::
calls, or use Auth::guard('dummy')
, like Auth::guard('dummy')->login($user)
For authenticating users, you need some unique identifier. You can use remote id or something like md5('some-unique-mail@mail.com')
In User model you need to add id
in fillable array. And if you use string id
also add protected $keyType = 'string';
field.
Usage example:
<?php // get some user data from Restful service $user_data = get_user_data_from_service(); $email = $user_data['email']; $user = new User(['id' => md5($email), 'name' => $user_data['name'], ...]); // Log in user Auth::login($user);
TODO
write tests
Troubleshooting
If you like living on the edge, please report any bugs you find on the laravel-dummyuser issues page.
Contributing
Pull requests are welcome. See CONTRIBUTING.md for information.
License
Please see the LICENSE included in this repository for a full copy of the MIT license, which this project is licensed under.