laravel-dummyuser

Dummy user implementation for Laravel 5.x

MIT License

Downloads
3.3K
Stars
6

Laravel 5.x dummy user provider

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('[email protected]')

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.

Credits

Package Rankings
Top 22.62% on Packagist.org
Badges
Extracted from project README
Build Status Code Quality Latest Stable Version Total Downloads Downloads Month License