Commit Graph

6 Commits

Author SHA1 Message Date
igodwin 4e594d3a7d Fix RBAC authorization logic to only return notifiers with matching roles
- Change IsAuthorized() to use deny-by-default when RBAC is enabled
- If ANY authorization rules are configured, only notifiers with explicit allowed_roles are accessible
- Notifiers without rules are denied access when RBAC is active
- If NO rules are configured, maintain open access for backward compatibility
- Add HasRules() helper method to check if RBAC is enabled

This fixes the issue where notifiers WITHOUT allowed_roles were being returned instead of
the notifiers WITH matching allowed_roles. Now when RBAC is configured:
- Only notifiers with explicit rules that match the user's roles are returned
- All other notifiers are hidden from the client

Example: If only email has allowed_roles=['admin'] and user has role 'admin':
- OLD: email ✓, stdout ✓ (WRONG - stdout should be hidden)
- NEW: email ✓, stdout ✗ (CORRECT - only email is returned)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 01:43:18 -07:00
igodwin 81d11e01bb Further auth and authz configuration 2025-10-30 23:35:28 -07:00
igodwin 9a43af27ad Implement secure CORS configuration system 2025-10-30 22:28:03 -07:00
igodwin abe7b6beee Refactor auth and authz 2025-10-26 02:25:24 -07:00
igodwin 6291cfe218 Fix unbounded memory growth in notification storage issue 2025-10-26 00:17:13 -07:00
igodwin a3365c303a Add API token auth and issues doc 2025-10-25 22:19:45 -07:00