Authentifizierung
Cuby unterstuetzt mehrere Authentifizierungsmethoden. Die Auth-Funktion wird ueber die Umgebungsvariable USE_AUTH aktiviert.
Methoden
| Methode | Verwendung | Ablauf |
|---|---|---|
| API Key (Bearer) | Server-zu-Server | Authorization: Bearer {apiKey} Header |
| Session Cookie | Browser | cuby_session Cookie, 24h gueltig |
| PostMessage Token | iframe-Embedding | Kurzlebiger Token (60s), einmalige Verwendung |
Endpunkte
| Method | Endpunkt | Beschreibung |
|---|---|---|
| POST | /api/auth | Direkter Login: API Key → Session Cookie |
| POST | /api/auth/token | Token erstellen: API Key → kurzlebiger Auth-Token |
| POST | /api/auth/session | Token einloesen: Auth-Token → Session Cookie |
Socket.IO-Authentifizierung
Socket.IO-Verbindungen werden authentifiziert ueber:
socket.handshake.auth.apiKey— API Key direkt im Handshake- Cookie
cuby_session— Bestehende Browser-Session
Sicherheitsmerkmale
| Feature | Beschreibung |
|---|---|
| Timing-safe Vergleich | API-Key-Validierung mit crypto.timingSafeEqual |
| Einmal-Token | Auth-Tokens sind nach Verwendung ungueltig |
| HttpOnly Cookies | Session-Cookies nicht per JavaScript auslesbar |
| SameSite=None | Ermoeglicht Cross-Origin-Zugriff fuer iframe-Embedding |