forked from ryyst/kalzu-value-store
test: add comprehensive authentication middleware test (issue #4)
- Add Test 5 to integration_test.sh for authentication verification - Test admin endpoints reject unauthorized requests properly - Test admin endpoints work with valid JWT tokens - Test KV endpoints respect anonymous access configuration - Extract and use auto-generated root account tokens docs: update README and CLAUDE.md for recent security features - Document allow_anonymous_read and allow_anonymous_write config options - Update API documentation with authentication requirements - Add security notes about DELETE operations always requiring auth - Update configuration table with new anonymous access settings - Document new authentication test coverage in CLAUDE.md 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
13
CLAUDE.md
13
CLAUDE.md
@@ -99,15 +99,21 @@ type StoredValue struct {
|
||||
|
||||
### Configuration Architecture
|
||||
|
||||
The system uses feature toggles extensively (`types/Config:271-276`):
|
||||
The system uses feature toggles extensively (`types/Config:271-280`):
|
||||
```yaml
|
||||
auth_enabled: true # JWT authentication system
|
||||
tamper_logging_enabled: true # Cryptographic audit trail
|
||||
clustering_enabled: true # Gossip protocol and sync
|
||||
rate_limiting_enabled: true # Per-client rate limiting
|
||||
revision_history_enabled: true # Automatic versioning
|
||||
|
||||
# Anonymous access control (Issue #5 - when auth_enabled: true)
|
||||
allow_anonymous_read: false # Allow unauthenticated read access to KV endpoints
|
||||
allow_anonymous_write: false # Allow unauthenticated write access to KV endpoints
|
||||
```
|
||||
|
||||
**Security Note**: DELETE operations always require authentication when `auth_enabled: true`, regardless of anonymous access settings.
|
||||
|
||||
### Testing Strategy
|
||||
|
||||
#### Integration Test Suite (`integration_test.sh`)
|
||||
@@ -115,6 +121,11 @@ revision_history_enabled: true # Automatic versioning
|
||||
- **Basic functionality** - Single-node CRUD operations
|
||||
- **Cluster formation** - 2-node gossip protocol and data replication
|
||||
- **Conflict resolution** - Automated conflict detection and resolution using `test_conflict.go`
|
||||
- **Authentication middleware** - Comprehensive security testing (Issue #4):
|
||||
- Admin endpoints properly reject unauthenticated requests
|
||||
- Admin endpoints work with valid JWT tokens
|
||||
- KV endpoints respect anonymous access configuration
|
||||
- Automatic root account creation and token extraction
|
||||
|
||||
The test suite uses sophisticated retry logic and timing to handle the eventually consistent nature of the system.
|
||||
|
||||
|
Reference in New Issue
Block a user