fix(auth) : renomme le cookie JWT en BEARER_LESSTIME (LST-72)
Évite la collision de cookie sur le domaine localhost en dev : plusieurs apps Symfony (ex: Starseed) posaient toutes un cookie `BEARER` partagé, se faisant écraser l'une l'autre → déconnexions croisées. Le cookie est désormais nommé par app. - lexik : token_extractors.cookie.name + clé set_cookies - security : logout.delete_cookies - docs (CLAUDE.md, README) mises à jour Note : vider une fois les cookies de localhost pour purger l'ancien BEARER. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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: /
|
||||
|
||||
@@ -47,7 +47,7 @@ security:
|
||||
target: /login
|
||||
enable_csrf: false
|
||||
delete_cookies:
|
||||
BEARER:
|
||||
BEARER_LESSTIME:
|
||||
path: /
|
||||
|
||||
# Activate different ways to authenticate:
|
||||
|
||||
Reference in New Issue
Block a user