| 04-security |
01 |
auth |
| jwt |
| ed25519 |
| hmac-sha256 |
| nimbus-jose-jwt |
| spring-security |
| bootstrap-token |
|
| phase |
provides |
| 01-ingestion |
Maven multi-module structure, Spring Boot app scaffold, application.yml patterns |
|
| phase |
provides |
| 03-agent-registry |
Agent registration flow, AgentRegistryService, SSE connection manager |
|
|
| JwtService interface and HMAC-SHA256 implementation for access/refresh token lifecycle |
| Ed25519SigningService interface and JDK 17 implementation for payload signing |
| BootstrapTokenValidator with constant-time comparison and dual-token rotation |
| SecurityProperties configuration binding with env var mapping |
| TestSecurityConfig permit-all for existing test compatibility |
|
|
| added |
patterns |
| nimbus-jose-jwt 9.47 |
| spring-boot-starter-security |
| spring-security-test |
|
| ephemeral HMAC secret per server instance |
| ephemeral Ed25519 keypair per startup |
| constant-time token comparison |
| InitializingBean fail-fast validation |
|
|
| created |
modified |
| cameleer-server-core/src/main/java/com/cameleer/server/core/security/JwtService.java |
| cameleer-server-core/src/main/java/com/cameleer/server/core/security/Ed25519SigningService.java |
| cameleer-server-core/src/main/java/com/cameleer/server/core/security/InvalidTokenException.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/JwtServiceImpl.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/Ed25519SigningServiceImpl.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/BootstrapTokenValidator.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityProperties.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityBeanConfig.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/TestSecurityConfig.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/JwtServiceTest.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/Ed25519SigningServiceTest.java |
| cameleer-server-app/src/test/java/com/cameleer/server/app/security/BootstrapTokenValidatorTest.java |
|
| cameleer-server-app/pom.xml |
| cameleer-server-app/src/main/resources/application.yml |
| cameleer-server-app/src/test/resources/application-test.yml |
|
|
| HMAC-SHA256 with ephemeral 256-bit secret for JWT signing (simpler than Ed25519 for tokens, Ed25519 reserved for config signing) |
| Nimbus JOSE+JWT chosen for JWT library (mature, well-maintained, explicit API) |
| JDK 17 built-in Ed25519 KeyPairGenerator (no Bouncy Castle dependency needed) |
| TestSecurityConfig as @Configuration in test sources for automatic component scanning by @SpringBootTest |
| InitializingBean pattern for fail-fast bootstrap token validation on startup |
|
| Core module interfaces (JwtService, Ed25519SigningService) with app module implementations |
| SecurityProperties @ConfigurationProperties with env var mapping via ${ENV_VAR:default} |
| SecurityBeanConfig wires all security beans with explicit @Bean methods |
|
|
12min |
2026-03-11 |