diff --git a/CLAUDE.md b/CLAUDE.md index f1a7143..eae2298 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ Application de gestion de projet. Monorepo Symfony 8 (API Platform 4) + Nuxt 4. - **Backend** : PHP 8.4, Symfony 8.0, API Platform 4, Doctrine ORM, PostgreSQL 16 - **Frontend** : Nuxt 4 (SSR off / SPA), Vue 3, Pinia, Tailwind CSS, @malio/layer-ui, nuxt-toast, @nuxtjs/i18n, @nuxt/icon -- **Auth** : JWT HTTP-only cookie (lexik/jwt-authentication-bundle), login à `/login_check`, cookie `BEARER` +- **Auth** : JWT HTTP-only cookie (lexik/jwt-authentication-bundle), login à `/login_check`, cookie `BEARER_LESSTIME` (nommé par app pour éviter la collision avec d'autres apps Symfony sur `localhost` en dev) - **Docker** : PHP-FPM + Node 24, Nginx (port 8082), PostgreSQL (port 5435) ## Structure diff --git a/README.md b/README.md index ba7b601..94e3294 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ Configuration : `infra/dev/.env.docker` (override local : `infra/dev/.env.docker Toutes les routes API sont préfixées `/api` (API Platform). - Documentation auto-générée : **http://localhost:8082/api** -- Auth : `POST /login_check` avec `{ username, password }` → cookie JWT `BEARER` +- Auth : `POST /login_check` avec `{ username, password }` → cookie JWT `BEARER_LESSTIME` ## Serveur MCP diff --git a/config/packages/lexik_jwt_authentication.yaml b/config/packages/lexik_jwt_authentication.yaml index ade6ecd..5d3979f 100644 --- a/config/packages/lexik_jwt_authentication.yaml +++ b/config/packages/lexik_jwt_authentication.yaml @@ -9,11 +9,15 @@ lexik_jwt_authentication: enabled: false cookie: enabled: true - name: BEARER + # Cookie nommé par app (BEARER_LESSTIME) pour éviter la collision avec + # d'autres apps Symfony servies sur le même domaine localhost en dev + # (ex: Starseed reste sur BEARER) : un cookie `BEARER` partagé se ferait + # écraser d'une app à l'autre → déconnexions croisées. + name: BEARER_LESSTIME query_parameter: enabled: false set_cookies: - BEARER: + BEARER_LESSTIME: lifetime: '%env(int:JWT_COOKIE_TTL)%' samesite: lax path: / diff --git a/config/packages/security.yaml b/config/packages/security.yaml index 24cb6de..56b209b 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -47,7 +47,7 @@ security: target: /login enable_csrf: false delete_cookies: - BEARER: + BEARER_LESSTIME: path: / # Activate different ways to authenticate: