| 04-security |
02 |
auth |
| spring-security |
| jwt-filter |
| security-filter-chain |
| bootstrap-token |
| refresh-token |
| stateless-auth |
|
| phase |
provides |
| 04-security |
JwtService, Ed25519SigningService, BootstrapTokenValidator, SecurityProperties beans |
|
| phase |
provides |
| 03-agent-registry |
AgentRegistryService, AgentRegistrationController, SseConnectionManager, SSE endpoints |
|
|
| SecurityFilterChain with stateless JWT authentication and public/protected endpoint split |
| JwtAuthenticationFilter extracting JWT from Authorization header or query param |
| Registration endpoint with bootstrap token validation, JWT + refresh token + public key issuance |
| Refresh endpoint issuing new access JWT from valid refresh token |
| TestSecurityHelper for JWT-authenticated integration tests |
|
|
| added |
patterns |
|
|
| OncePerRequestFilter for JWT extraction |
| SecurityFilterChain with permitAll/authenticated split |
| error path permit for proper Spring Boot error forwarding |
|
|
| created |
modified |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/JwtAuthenticationFilter.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityConfig.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/TestSecurityHelper.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/SecurityFilterIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/BootstrapTokenIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/RegistrationSecurityIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/JwtRefreshIT.java |
|
| cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentRegistrationController.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/config/WebConfig.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/TestSecurityConfig.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/AgentRegistrationControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/ExecutionControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/DiagramControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/MetricsControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/BackpressureIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/DiagramRenderControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/DetailControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/SearchControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/AgentCommandControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/AgentSseControllerIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/storage/DiagramLinkingIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/storage/IngestionSchemaIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/interceptor/ProtocolVersionIT.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/controller/ForwardCompatIT.java |
|
|
| Added /error to SecurityConfig permitAll to allow Spring Boot error page forwarding through security |
| Excluded register and refresh paths from ProtocolVersionInterceptor (auth endpoints, not data endpoints) |
| SSE authentication via ?token= query parameter handled transparently by JwtAuthenticationFilter |
| Refresh endpoint in permitAll (uses refresh token for self-authentication, not JWT access token) |
|
| TestSecurityHelper @Component for registering test agents and creating auth headers in ITs |
| Bootstrap token in Authorization: Bearer header for registration (same header format as JWT) |
| SecurityFilterChain permits /error for proper error page rendering in authenticated context |
|
|
26min |
2026-03-11 |