web-id/ail

Authentication page to change user easily in debug mode

1.0.2 2022-11-29 09:01 UTC

README

Latest Version on Packagist Total Downloads

Authentication page to change user easily

Ail homepage

Installation

1/ Composer

You can install the package via composer:

composer require web-id/ail

2/ Package installation

Install the package (config file and views) with this command :

php artisan ail:install

3/ Configuration

Update the config, especially guard and allowedEnv.

This is the content of the published config files:

return [
    /*
    |--------------------------------------------------------------------------
    | Route configuration
    |--------------------------------------------------------------------------
    |
    | These values will change the route configuration for the application routes.
    | You can define the prefix, the name and set your own middleware on it.
    | Web middleware is required for authentication and CanImpersonate for security.
    |
    */

    'routes' => [
        'prefix' => 'ail',
        'name' => 'ail',
        'middlewares' => [
            'web',
            CanImpersonate::class,
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Guards to display
    |--------------------------------------------------------------------------
    |
    | This value is a list of guards that you want to display and impersonate. You
    | need to set the name on key and the service builder on value. The service
    | builder is required for search bar on view. By default, you can use
    | SearchUser::class that search on `name` attribute. You are free and encouraged
    | to create your own service.
    |
    */

    'guards' => [
        'web' => SearchUser::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | Allowed environment security
    |--------------------------------------------------------------------------
    |
    | This value is a list of environments authorized for this package. It will
    | use APP_ENV. WARNING : This package is not recommended on risky environments
    | like production or preprod with sensitive data.
    */

    'allowedEnv' => [
        'local',
        'preproduction',
    ],

    /*
    |--------------------------------------------------------------------------
    | Pagination
    |--------------------------------------------------------------------------
    |
    | This value is the pagination number for view.
    |
    */

    'perPage' => 15,
];

4/ Update Models

Add Impersonate Trait on Authenticatable Models you want to impersonate.

class User extends Authenticatable
{
    use Impersonate;
}

5/ Update Views

You can add your own logic on resources/views/vendors/ail.

By default, it will display the name attribute.

6/ More options

See : https://github.com/404labfr/laravel-impersonate

WARNING : Don't forget to set authorization for who can impersonate : https://github.com/404labfr/laravel-impersonate#defining-impersonation-authorization

By default all users can be impersonated.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.