Signierte URLs und Embed-Tokens
Jedes Video auf AVCaption trägt ein Embed-Token in seiner URL: https://avcaption.com/watch/{embed_token}. Das Token ist die Zugriffsberechtigung — wer ein gültiges Token hat, kann das Video abspielen, alle anderen werden abgewiesen.
Bei kostenlosen oder öffentlichen Inhalten erzeugen Sie ein Token pro Video, und es gilt unbegrenzt. Bei bezahlten oder Gated-Inhalten erzeugen Sie pro authentifizierter Session ein frisches Token via REST-API.
So funktionieren Tokens
Ein Token ist ein kurzer opaker String (standardmäßig 32 Hex-Zeichen). Serverseitig mappt es auf:
- Die Video-ID
- Eine optionale Zuschauer-Kennung (für Analytics und dynamisches Wasserzeichen)
- Einen Ablaufzeitstempel
- Eine Liste erlaubter Origins (Ihre Domain-Whitelist)
- Rate-Limit-Metadaten
Wenn der Player einen Stream-Schlüssel anfordert, prüft der Server das Token, das Ablaufdatum und die Anfrage-Origin und stellt erst dann den AES-128-Schlüssel für den nächsten Batch aus.
Pro-Session-Tokens via REST-API
Für bezahlte Inhalte ist das empfohlene Muster:
- Nutzer meldet sich in Ihrer Anwendung an.
- Ihre Anwendung authentifiziert den Nutzer gegen Ihre DB.
- Ihre Anwendung ruft AVCaptions REST-API auf:
POST /api/v1/embed-tokenmit{video_id, viewer_id, expires_in: 3600}. - AVCaption gibt ein einmaliges Embed-Token mit 1 Stunde Gültigkeit zurück.
- Sie rendern den Iframe mit diesem Token.
- Das Token läuft ab; aktualisiert der Nutzer, erzeugt Ihre App ein frisches.
Das heißt: Wer die Iframe-URL kopiert und teilt, gibt ein Token weiter, das innerhalb einer Stunde abläuft — wertlos für Weiterverbreitung.
Domain-Whitelisting auf Token-Ebene
Tokens lassen sich an konkrete Origins binden. Ein Token, ausgestellt für app.example.com, funktioniert auf pirate-site.com nicht. Der Browser sendet bei der Master-Playlist-Anfrage einen Referer-Header; AVCaption prüft ihn gegen die Whitelist und verweigert die Schlüsselausgabe.
Vergleich zu Signed-URL-Ansätzen
Einige Plattformen verwenden signierte URLs (HMAC-signierte Query-Strings auf jedem Segment). AVCaption nutzt opake Tokens, die serverseitig auf Zugriffs-Metadaten gemappt werden. Abwägungen:
- Signierte URLs — voll zustandslos, leicht am Edge zu prüfen. Doch eine einmal signierte URL lässt sich vor Ablauf nicht widerrufen.
- Opake Tokens (AVCaption) — erfordern serverseitiges Lookup pro Stream-Session, ermöglichen aber Echtzeit-Widerruf, Analytics pro Token und reichere Zugriffs-Metadaten.
Für bezahlte Inhalte, bei denen Widerruf zählt, gewinnen opake Tokens. Siehe den Glossar-Eintrag Embed-Token vs Signierte URL für einen tieferen Vergleich.
Token-Rotation
Für besonders hochwertige Inhalte rotieren Sie Tokens per API nach Zeitplan:
POST /api/v1/embed-token/rotate
{ "video_id": "abc123" }
Das invalidiert alle existierenden Tokens für dieses Video und gibt ein neues aus. Hilfreich nach einem Verdacht auf Leak oder einem Chargeback.
Welche TTL wann
| TTL | Anwendungsfall |
|---|---|
| 5 Minuten | Einmalige Download-artige Auslieferung (bezahltes Digitalprodukt, Single-Use-Review-Link) |
| 1 Stunde | Standard-authentifizierte Session (Mitglieder-Portal, Kurs-Player) |
| 24 Stunden | Kostenloser Public-Content, Marketing-Video |
| 30 Tage | Zeitlich begrenzter Mietzugriff, monatlicher Bonus-Content |
Kürzere TTLs heben die Sicherheit; längere TTLs senken die Token-Mint-API-Calls. Für die meisten Bezahl-Content-Anwendungen ist 1 Stunde der richtige Default.
Loslegen
Embed-Tokens werden bei jedem Upload automatisch ausgestellt, in allen Tarifen. Die REST-API zur Pro-Session-Tokenerzeugung ist eine Enterprise-Funktion — verdrahten Sie sie in Ihren Auth-Check, und Sie minten Per-Session-Tokens, die mit der Session ablaufen. Kostenloses Konto anlegen, ein Video hochladen und prüfen, dass das Default-24-Stunden-Token wie erwartet abläuft. Gängige Muster: Pro-Session-Tokens für Online-Kurse und Membership-Site-Video.