URL Firmati e Token di Embed — Controllo Accessi Video per Sessione

URL Firmati e Token di Embed

Ogni video su AVCaption ha un token di embed nel suo URL: https://avcaption.com/watch/{embed_token}. Il token è la credenziale d’accesso — chiunque abbia un token valido può riprodurre il video, chi non ce l’ha viene rifiutato.

Per contenuti gratuiti o pubblici generi un token per video e vive per sempre. Per contenuti a pagamento o gated generi token freschi per sessione autenticata via REST API.

Come funzionano i token

Un token è una stringa breve opaca (default 32 caratteri esadecimali). Lato server mappa a:

  • L’ID del video
  • Un identificatore di spettatore opzionale (usato per analytics e watermark dinamico)
  • Un timestamp di scadenza
  • Una lista di origini consentite (la tua whitelist di domini)
  • Metadata di rate limit

Quando il player richiede una chiave di stream, il server valida il token, controlla la scadenza, controlla l’origine della richiesta, e solo allora emette la chiave AES-128 per il batch successivo.

Token per sessione via REST API

Per contenuti a pagamento, il pattern consigliato è:

  1. L’utente accede alla tua applicazione.
  2. La tua applicazione autentica l’utente contro il tuo DB.
  3. La tua applicazione chiama la REST API di AVCaption: POST /api/v1/embed-token con {video_id, viewer_id, expires_in: 3600}.
  4. AVCaption restituisce un token di embed monouso valido 1 ora.
  5. Renderizzi l’iframe con quel token.
  6. Il token scade; se l’utente ricarica, la tua app ne genera uno fresco.

Significa che un utente che copia l’URL dell’iframe e la condivide passa un token che scade entro un’ora — inutile per la ridistribuzione.

Whitelist di domini a livello di token

I token possono essere legati a origini specifiche. Un token emesso per app.example.com non funziona se incorporato su pirate-site.com. Il browser invia un header Referer alla richiesta della master playlist; AVCaption lo valida contro la whitelist e rifiuta di emettere chiavi.

Confronto con gli approcci a URL firmato

Alcune piattaforme usano URL firmati (query string firmate HMAC su ogni segmento). AVCaption usa token opachi che mappano lato server ai metadata di accesso. Trade-off:

  • URL firmati — del tutto stateless, facili da verificare all’edge. Ma una volta firmato un URL, non si può revocare prima della scadenza.
  • Token opachi (AVCaption) — richiedono lookup lato server per sessione di stream, ma abilitano revoca in tempo reale, analytics per token e metadata di accesso più ricchi.

Per contenuti a pagamento dove la revoca conta, vincono i token opachi. Vedi la voce di glossario embed token vs URL firmato per un confronto più approfondito.

Rotazione dei token

Per contenuti di valore molto alto, ruota i token via API su un piano:

POST /api/v1/embed-token/rotate
{ "video_id": "abc123" }

Invalida tutti i token esistenti per quel video e ne emette uno nuovo. Utile dopo un sospetto leak o un chargeback.

Per iniziare

I token di embed vengono emessi automaticamente a ogni upload, su tutti i piani. La REST API per la generazione di token per sessione è una funzionalità Enterprise. Registrati. Pattern comuni: token per sessione per corsi online e video per membership site.

Domande frequenti

Cos'è un URL firmato per video? +
Un URL firmato è un link di riproduzione video con una firma crittografica nella query string che prova che l'URL è stato emesso dal server di origine. L'edge CDN o l'origine verifica la firma prima di servire il segmento; URL alterati o scaduti vengono rifiutati. Gli URL firmati permettono alle piattaforme a pagamento di limitare l'accesso video senza memorizzare stato per utente all'edge.
Quanto dura un token di embed? +
Default 24 ore. Puoi configurare da 5 minuti a 30 giorni per video, o generare token freschi per sessione via REST API. Per contenuti di alto valore, token a breve durata generati per sessione autenticata sono il pattern consigliato.
Posso revocare un token in piena riproduzione? +
Sì. Revoca via dashboard o API. La successiva richiesta di chiave da quella sessione fallisce — la riproduzione si ferma entro 60 secondi (al confine del batch successivo).
URL firmato o token di embed — cosa devo usare? +
Token di embed per contenuti a pagamento dove la revoca conta; URL firmati per la verifica stateless all'edge. AVCaption usa token di embed opachi che mappano ai metadata di accesso lato server, così puoi revocare istantaneamente un token trapelato. Gli URL firmati puri sono stateless ma non possono essere revocati prima della scadenza. Vedi il confronto embed token vs URL firmato per il trade-off completo.
← content.back_to_index