Laravel Impersonate - A package that allows for easy and secure user impersonation within a Laravel application.
pinetco-dev/laravel-impersonate is a Laravel package for laravel impersonate - a package that allows for easy and secure user impersonation within a laravel application..
It currently has 1 GitHub stars and 1.417 downloads on Packagist (latest version 2.0.0).
Install it with composer require pinetco-dev/laravel-impersonate.
Discover more Laravel packages by pinetco-dev
or browse all Laravel packages to compare alternatives.
Last updated
Laravel Impersonate is a package that allows you to easily and securely impersonate other users within a Laravel application. This can be particularly useful for debugging problems and generating scenarios after deploying your application to production.
You can install the package via composer:
composer require pinetco-dev/laravel-impersonate
Once you have installed the package, you can publish and run the migrations with the following command:
php artisan vendor:publish --tag="impersonate-migrations"
php artisan migrate
The package comes with a configuration file that allows you to customize its settings according to your needs. You can publish the configuration file using the following command:
php artisan vendor:publish --tag="impersonate-config"
After publishing the configuration file, you need to specify the URL where impersonate webhooks should hit your application. To do this, add the following line to your routes file:
Route::impersonation();
If you want to protect specific pages against user impersonation, you can use the impersonate.protect middleware. For example:
Router::get('/payment', function() {
echo "This page cannot be accessed by an impersonator.";
})->middleware('impersonate.protect');
There are some blade directives available that allow you to customize the behavior of your application depending on whether the user can impersonate or is being impersonated.
@canImpersonate
<a href="{{ route('impersonate', $user) }}">Login as {{ $user->name }}</a>
@endCanImpersonate
@impersonating
<a href="{{ route('impersonate.leave', ['impersonate' => get_impersonate_session_value()]) }}">
Leave impersonation mode
</a>
@endImpersonating
You can run the tests using the following command:
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.