// 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