26 lines
1.1 KiB
Go
26 lines
1.1 KiB
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 kommen zwei Verwaltungszugänge, die nicht an ein Projekt gebunden sind
|
|
// und nur für die Web-Oberfläche gelten:
|
|
//
|
|
// - der Plattform-Admin (Umgebungsvariable ADMIN_TOKEN) für alle Workspaces,
|
|
// - Workspace-Admins ("wa_…", AUSBAUSTUFEN.md 4.8), die in genau einem
|
|
// Workspace Projekte und Keys verwalten.
|
|
//
|
|
// # 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
|