munin/internal/auth/doc.go
2026-09-15 20:36:26 +02:00

22 lines
1,018 B
Go

// Package auth bündelt alles, was mit Authentifizierung und Sitzungen zu tun hat.
//
// # Zwei Wege hinein
//
// Es gibt genau zwei Arten, sich gegenüber dem Server auszuweisen:
//
// 1. API-Key im Authorization-Header ("Bearer wk_…") — für MCP-Clients,
// Agenten und Skripte. Der Key gehört immer zu genau einem Projekt.
//
// 2. Session-Cookie — für die Web-Oberfläche. Der Cookie entsteht durch eine
// einmalige Anmeldung mit demselben API-Key und trägt danach nur noch eine
// signierte Behauptung ("ich bin Key X"), nie den Key selbst.
//
// Dazu kommt der Plattform-Admin (Umgebungsvariable ADMIN_TOKEN), der Projekte
// anlegen und löschen darf — der einzige Zugang, der nicht an ein Projekt gebunden ist.
//
// # Was hier NICHT liegt
//
// Die Frage "darf dieser Key das?" beantwortet nicht dieses Package, sondern die
// Rolle am Key (siehe Role) in Verbindung mit den Prüfungen in internal/web.
// Hier geht es nur darum, WER jemand ist — nicht, was er darf.
package auth