/** * Middleware Next.js simplifié * * L'authentification est entièrement gérée par le backend Quarkus avec Keycloak OIDC. * Le middleware frontend laisse passer toutes les requêtes. * * Flux d'authentification: * 1. User accède à une page protégée du frontend (ex: /dashboard) * 2. Frontend appelle l'API backend (ex: http://localhost:8080/api/v1/dashboard) * 3. Backend détecte absence de session -> redirige vers Keycloak (security.lions.dev) * 4. User se connecte sur Keycloak * 5. Keycloak redirige vers le backend avec le code OAuth * 6. Backend échange le code, crée une session, renvoie un cookie * 7. Frontend reçoit le cookie et peut maintenant appeler l'API */ import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; export function middleware(request: NextRequest) { // Le middleware ne fait plus rien - l'authentification est gérée par le backend // Toutes les requêtes sont autorisées côté frontend return NextResponse.next(); } // Configuration du matcher - appliqué à toutes les routes sauf les fichiers statiques export const config = { matcher: [ /* * Match all request paths except for the ones starting with: * - _next/static (static files) * - _next/image (image optimization files) * - favicon.ico (favicon file) * - public files (images, etc.) */ '/((?!_next/static|_next/image|favicon.ico|.*\..*|public).*)', ], };