URL signées et authentification des jetons avec un flux en direct

Dans cette rubrique, vous apprendrez à utiliser les URL signées et l'authentification des jetons pour empêcher les utilisateurs finaux de lire votre flux en direct sans autorisation appropriée.

Aperçu

Si vous fournissez du contenu premium ou confidentiel, vous chercherez tous les moyens de garantir sa sécurité. Vous ne souhaitez pas que les utilisateurs finaux puissent copier des URL vidéo ou continuer à lire du contenu sans l'autorisation appropriée. Brightcove prend en charge la signature des URL RTMP, HLS et DASH.

Si vous allez générer votre propre jeton, il y a une étape dans ce processus. Si vous souhaitez que le système Live génère une URL tokenisée, deux étapes, détaillées dans les sections qui suivent, sont requises pour activer l'authentification par token pour les flux en direct.

Mise en œuvre

Étape 1 : Création du travail en direct

Pour activer l'authentification par jeton, incluez les éléments suivants dans le corps de la demande lorsque vous créez une tâche:

  "add_cdns": [{
    "label": "My CDN",
    "prepend": "mycdn-a.akamaihd.net",
    "protocol": "https",
    "vendor": "akamai",
    "token_auth": {
      "auth_type": "Akamai2.0",
      "key": "AKAMAI_TOKEN_PASSWORD",
      "token_name": "AKAMAI_TOKEN_NAME",
      "media": {
        "start_time": "now",
        "end_time": 1495697388,
        "ttl": 60
      }
    }
  }]

Les champs concernés sont décrits dans le tableau suivant :

Champs TTL pour les travaux en direct
Champ Montant
start_time now soit une heure de début unix/posix
end_time heure de fin unix/posix
ttl nombre en secondes pour la durée de vie

Étape 2 : Après la création de l'emploi en direct

Une fois la tâche en direct créée, vous devez effectuer une autre demande pour générer les URL du manifeste principal. Pour ce faire, envoyez une POST demande à :

  https://api.bcovlive.io/v1/jobs/JOB_ID/authurls

Incluez le JSON suivant comme corps de la requête :

  {
    "ttl": number in seconds for time to live
  }

Remarques

  • La ttl valeur des deux étapes ci-dessus doit être égale ou supérieure à la fenêtre DVR. Sinon, la fenêtre DVR sera limitée à la ttl valeur
  • Les protocoles http et https sont pris en charge
  • Les token_name doit comporter de 5 à 12 caractères et doit correspondre à ce qui est configuré dans Akamai
  • start_time est facultatif et peut être "now" (par défaut) ou une valeur de temps d'époque en secondes
  • end_time est facultatif et peut être une valeur de temps d'époque en secondes, end_time soit ttl est requis ; s'il n'est pas spécifié, ttl est supposé être le plus grand de live_dvr_sliding_window_duration et vod_sliding_window_duration