Jason Woltje
004f7828fb
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
feat(#273): Implement capability-based authorization for federation
Add CapabilityGuard infrastructure to enforce capability-based authorization
on federation endpoints. Implements fail-closed security model.
Security properties:
- Deny by default (no capability = deny)
- Only explicit true values grant access
- Connection must exist and be ACTIVE
- All denials logged for audit trail
Implementation:
- Created CapabilityGuard with fail-closed authorization logic
- Added @RequireCapability decorator for marking endpoints
- Added getConnectionById() to ConnectionService
- Added logCapabilityDenied() to AuditService
- 12 comprehensive tests covering all security scenarios
Quality gates:
- ✅ Tests: 12/12 passing
- ✅ Lint: 0 new errors (33 pre-existing)
- ✅ TypeScript: 0 new errors (8 pre-existing)
Refs #273
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-03 19:53:09 -06:00
..
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 11:13:12 -06:00
2026-01-31 16:50:32 -06:00
2026-02-03 14:37:06 -06:00
2026-02-01 21:01:25 -06:00
2026-02-03 14:37:06 -06:00
2026-01-31 13:44:23 -06:00
2026-01-31 13:51:46 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-01-30 18:26:41 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 19:53:09 -06:00
2026-01-28 15:07:04 -06:00
2026-02-03 14:37:06 -06:00
2026-02-02 12:51:17 -06:00
2026-02-02 12:30:19 -06:00
2026-02-02 11:41:11 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-01-30 18:26:41 -06:00
2026-01-31 15:01:18 -06:00
2026-01-31 13:07:58 -06:00
2026-02-03 14:37:06 -06:00
2026-01-31 12:44:50 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-01-31 13:33:04 -06:00
2026-01-31 14:47:59 -06:00
2026-01-31 14:01:42 -06:00
2026-02-02 12:51:17 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-01-31 12:55:11 -06:00
2026-01-31 15:01:18 -06:00
2026-01-30 18:26:41 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 19:17:13 -06:00
2026-02-01 01:48:09 -06:00
2026-01-28 16:24:25 -06:00
2026-01-30 18:26:41 -06:00
2026-02-03 10:58:50 -06:00
2026-01-28 13:31:33 -06:00
2026-02-02 12:13:17 -06:00
2026-02-02 12:13:17 -06:00