<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
This class is extending Illuminate\Auth\Middleware\Authenticate
- and it overrides redirectTo
method. You need to write down your own handle method. If you want you may remove extends
part if you don't need framework's authenticate method.
public function handle($request, Closure $next, ...$guards)
{
if (Auth::guest()) {
return response()->json(['message' => 'you shall not pass']);
}
return $next($request);
}
Another option would be keeping the extends
and calling parent method after doing your regular checks if you need some of the functionality from base class.
public function handle($request, Closure $next, ...$guards)
{
if (Auth::guest()) {
return response()->json(['message' => 'you shall not pass']);
}
return parent::handle($request, $next, $guards);
}