404labfr / laravel-impersonate

Laravel Impersonate is a plugin that allows you to authenticate as your users.

Home Page:https://marceau.casals.fr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Impersonation breaks down when calling the route('impersonate', $id) in vue

luigibriganti opened this issue · comments

Hi,
I have a Laravel project that runs on Inertia/Jetstream + Vue and I installed impersonate following the procedure, but maybe I missed something.

I followed the Simple usage guidelines, creating a get route in web.php like this:

Route::get('/impersonate/{id}', function($id){ Auth::user()->impersonate($id); })->name('impersonate');

But when I call it I get this error:
Schermata del 2022-08-26 09-41-33

Following the Using the built-in controller guidelines, instead, I get the following error in console:

Schermata del 2022-08-26 09-43-19

this one is get calling route('impersonate', user.id) in my vue template.

Did I miss something or am I doing something wrong? Thanks.

I might be wrong, but you need to pass a model instead of ID.
Try using route model binding and see if it works:
Route::get('/impersonate/{user}', function(User $user){ Auth::user()->impersonate($user); })->name('impersonate');

@luigibriganti your ziggy config might be limiting what routes are sent down. I hit that recently. check config/ziggy.php

Also, did you add Route::impersonate() to your web routes?