We're using the latest version of Laravel with Laravel Jetstream and want to implement a functionality to allow our admins to sign in on behalf of a regular user. This allows us to provide a better support if some users encounter problems with their accounts.
This function seems perfect to achieve the intended result:
Auth::loginUsingId(1);
Unfortunately I recieve the the following error message
Method Illuminate\Auth\RequestGuard::loginUsingId does not exist
After some time and thanks to the help of Laravel Debugbar I figured out that the problem is caused by Laravel Sanctum. It does not include the above function and is set as middleware to protect the routes in the app\routes\web.php file.
It seems to work after changing the middleware from
Route::middleware(['auth:sanctum', 'verified'])
to
Route::middleware(['auth', 'verified'])
So long story short:
Is there another solution to do this? Or better: is this even a valid solution? Can I just remove Sanctum from the web routes or is this requiered for some reason? We want to still use Sanctum to authenticate our mobile applications our token based API.