Add HttpOnly cookie auth for cross-domain SPA login

Problem: Frontend JS bundle used credentials:'same-origin' which
dropped cookies on cross-domain requests. Login worked (200) but
the subsequent /auth/me check returned 401, leaving the user stuck
on the login screen.

Fix:
- AuthController now sets a dtp_jwt HttpOnly cookie on login/refresh
- Cookie uses Domain=.fahrschultermin.de (shared between frontend
  and api subdomain), Secure, SameSite=Lax, Max-Age=8h
- JwtMiddleware reads JWT from Authorization header OR cookie
- Added AuthController::me() endpoint (was missing, caused 500)
- Logout endpoint clears the cookie
- Frontend index.php patches fetch() to use credentials:'include'
  for all /api/v1/* calls
This commit is contained in:
Hermes Agent
2026-06-04 20:33:31 +02:00
parent 5f753c15df
commit 5d87e4975c
1040 changed files with 95 additions and 13 deletions

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

0
backup/old_api_20260520/app/Support/Auth.php Normal file → Executable file
View File

0
backup/old_api_20260520/app/Support/Database.php Normal file → Executable file
View File

0
backup/old_api_20260520/app/Support/Request.php Normal file → Executable file
View File

0
backup/old_api_20260520/app/Support/Response.php Normal file → Executable file
View File

0
backup/old_api_20260520/app/Support/Router.php Normal file → Executable file
View File

0
backup/old_api_20260520/app/bootstrap.php Normal file → Executable file
View File

0
backup/old_api_20260520/bin/migrate.php Normal file → Executable file
View File

0
backup/old_api_20260520/bin/seed.php Normal file → Executable file
View File

0
backup/old_api_20260520/config/app.php Normal file → Executable file
View File

0
backup/old_api_20260520/database/import_pgsql.sql Normal file → Executable file
View File

View File

View File

0
backup/old_api_20260520/database/schema_pgsql.sql Normal file → Executable file
View File