- Implement wildcard scope matching in ApiKey::hasScope(): - Resource wildcards (posts:*) grant all actions on resource - Action wildcards (*:read) grant action on all resources - Full wildcard (*) grants universal access - Add hasAnyScope() method for OR-style scope checking - Add extensive tests for: - EnforceApiScope middleware validation - CheckApiScope middleware with explicit requirements - Wildcard scope matching (posts:*, *:read, *) - Scope inheritance and hierarchy - Error response formatting with required/provided scopes - Edge cases (null scopes, case sensitivity, nested colons) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- P1-002: API key security tests verified (bcrypt, rotation) - P1-003: Webhook signature tests verified (HMAC-SHA256) - P1-004: IP whitelisting with IPv4/IPv6 CIDR support Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>