This document outlines how authentication and authorization works across the platform.
Current implementation:
- Local JWT issued by the Brain (
/api/auth/login) using users configured inbrain.security.users.
Future options:
- External provider (OIDC)
Roles:
- Admin
- Operator
- Viewer
Two supported models:
- Each Node has a static token
- Sent via header on every request
- Client certificate per Node
- Most secure option
Rules:
- Admin: full access
- Operator: manage instances, view nodes/templates
- Viewer: read-only
- Node: only allowed to access its callback endpoints
/api/brain/...→ Admin & Operators/api/node/...→ Node callbacks/api/public/...→ Optional public info