Security and authentication
The backend uses Spring Security.
Roles
Regular users typically have
ROLE_USERAdmin features require
ROLE_ADMIN
Login/logout behavior
Login:
POST /api/loginSuccess returns HTTP 200 (no redirect)
Failure returns HTTP 401
Logout:
POST /api/logoutreturns HTTP 204
CSRF
The SPA uses a CSRF token fetched from GET /api/csrf and sends it as a header for unsafe methods.
If you’re building custom clients or scripts, you must follow the same flow:
Fetch
/api/csrfRead the CSRF header name/value
Include it on
POST/PUT/DELETErequests
Public vs protected endpoints
/api/**requires authentication by defaultSome endpoints are public (for example:
/api/csrf, actuator, OpenAPI docs)
For the authoritative configuration, see the Spring Security filter chain in the backend.
Last modified: 16 December 2025