1) в файле app/Exceptions/Handler.php переопределить метод unauthenticated из vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
тоесть сделать что-то такого
protected function unauthenticated($request, AuthenticationException $exception)
{
return response()->json(['message' => $exception->getMessage()], 401)
}
но это будет глобально работать
2) сделать свой Middleware наподобии vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php
только кидать свой экспешон, и в файле app/Exceptions/Handler.php переопределить родительский метод render для обработки своей кастомной ошибки например:
public function render($request, Throwable $e)
{
if ($e instanceof CustomAuthenticationException) {
return response()->json(['message' => $e->getMessage()], 401);
}
return parent::render($request, $e);
}