withRouting( web: __DIR__ . '/../routes/web.php', api: __DIR__ . '/../routes/api.php', commands: __DIR__ . '/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware): void { $middleware->alias([ 'role' => \Spatie\Permission\Middleware\RoleMiddleware::class, 'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class, 'mask_phone' => MaskPhoneNumber::class, ]); $middleware->api(prepend: [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, ]); $middleware->api(append: [ MaskPhoneNumber::class, ]); $middleware->redirectGuestsTo(fn (Request $request) => $request->is('api/*') || $request->expectsJson() ? null : '/login'); $middleware->append(SecurityHeaders::class); }) ->withExceptions(function (Exceptions $exceptions): void { $exceptions->render(function (AuthenticationException $e, Request $request) { if ($request->is('api/*')) { return response()->json(['message' => 'Unauthenticated.'], 401); } }); })->create();