Embed token vs URL signée
Deux schémas pour contrôler qui peut lire une vidéo : embed tokens opaques (résolution côté serveur) et URLs signées (chaînes de requête signées HMAC). Tous deux sont courants ; ils ont des compromis différents.
Embed tokens (opaques)
Une chaîne courte et opaque, mappée côté serveur vers des métadonnées d’accès : ID de vidéo, origines autorisées, expiration, ID de spectateur pour le filigrane, rate limits.
Avantages :
- Révocation en temps réel — invalider le token en BDD, et la prochaine récupération de clé échoue.
- Métadonnées riches — analytics par token, rate limits sur mesure, liaison au filigrane dynamique.
- URLs courtes et propres —
/watch/abc123.
Inconvénients :
- État côté serveur — chaque récupération de clé valide le token via lookup BDD.
- Latence légèrement plus élevée sur les lookups non cachés.
Utilisé par : AVCaption.
URLs signées (HMAC)
Une URL avec une signature cryptographique en suffixe : /segment.ts?expires=1735689600&sig=abcdef.... La signature est calculée par le serveur de la plateforme avec une clé secrète, et vérifiée au bord — sans aller-retour vers le serveur.
Avantages :
- Sans état — vérifiable au bord du CDN sans aller-retour serveur.
- Rapide — vérification cryptographique en microsecondes.
Inconvénients :
- Pas de révocation — une fois signée, valide jusqu’à l’expiration.
- Moins de métadonnées — uniquement ce qui rentre dans les paramètres d’URL.
- URLs plus longues.
Utilisé par : AWS S3 presigned URLs, CloudFront signed URLs, Cloudflare Stream signed URLs.
Quand chacun a du sens
Embed token (opaque) convient quand :
- Vous devez révoquer l’accès après émission (remboursements, suspension de compte)
- Vous voulez analytics par spectateur ou filigrane dynamique
- Vous voulez des URLs courtes et propres pour l’embed
URL signée convient quand :
- Vous opérez à très grande échelle où le coût des lookups BDD compte
- La révocation n’est pas requise (une expiration courte suffit)
- Votre couche de diffusion (bord CDN) vérifie nativement les signatures
Pour les cours payants et le contenu restreint, les embed tokens opaques sont le meilleur choix. Pour de la distribution publique ponctuelle, les URLs signées sont plus simples.
AVCaption utilise des tokens opaques avec génération optionnelle par session via API REST pour un contrôle d’accès dynamique.