<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
Этот класс расширяет Illuminate\Auth\Middleware\Authenticate
- и отменяет метод redirectTo
. Вам нужно записать свой собственный метод ручки. Если вы хотите, вы можете удалить часть extends
, если вам не нужен метод аутентификации фреймворка.
public function handle($request, Closure $next, ...$guards)
{
if (Auth::guest()) {
return response()->json(['message' => 'you shall not pass']);
}
// other checks
return $next($request);
}
Другой вариант - сохранить extends
и вызвать родительский метод после регулярных проверок, если вам нужны некоторые функции из базового класса.
public function handle($request, Closure $next, ...$guards)
{
if (Auth::guest()) {
return response()->json(['message' => 'you shall not pass']);
}
return parent::handle($request, $next, $guards);
}