Utilisation des API d'authentification

Dans cette rubrique, vous découvrirez les API utilisées pour gérer la protection des clés/licences lors de l'utilisation des restrictions de lecture de Brightcove.

Introduction

Les restrictions de lecture Brightcove offrent un niveau de sécurité supplémentaire lors de l'utilisation de la diffusion dynamique avec un contenu protégé par DRM ou HTTP Live Streaming Encryption (HLSe).

Si vous n'êtes pas familier avec cette fonctionnalité, reportez-vous à l' aperçu : Document sur les restrictions de lecture Brightcove.

Voici les API disponibles pour gérer la protection des clés/licences :

Enregistrer la clé publique

Vous possédez la clé privée et vous l'utiliserez pour générer des jetons signés. Vous partagerez la clé publique avec Brightcove pour vérifier vos jetons. L'API de clé vous permet d'enregistrer votre clé publique auprès de Brightcove.

API clé

L'API Key est utilisée pour gérer vos clés publiques avec Brightcove.

URL de base

L'URL de base de l'API est :

https://playback-auth.api.brightcove.com

Chemin du compte

Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base :

https://playback-auth.api.brightcove.com/v1/accounts/{accountID}

Autorisation

Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization :

Authorization: Bearer {access_token}

Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.

Autorisations

Les demandes à l'API Key doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :

  • video-cloud/playback-auth/key/read
  • video-cloud/playback-auth/key/write

Gérer les clés

L'API Key prend en charge les requêtes suivantes :

Enregistrez une nouvelle clé :

Mettez la valeur de votre clé publique dans le corps de la requête API. Vous pouvez trouver la clé dans le clé_publique.txt déposer.

Demande d'API

POST /v1/accounts/{accountID}/keys
    Content-Type: application/json
    Body: {"value": "MFkwEwYHKoZIzj0CAQYIKoZIzj...MyeQviqploA=="}

Utiliser la boucle

curl -X POST \
    -H « Type de contenu : application/json » \
    -H « Autorisation : Porteur {access_token} » \
    -d '{"value » : « {votre_public_key_value}"}' \
  https://playback-auth.api.brightcove.com/v1/accounts/{accountID}/keys
  

Réponse de l'API

{
    "id": "{your_public_key_id}",
    "type": "public",
    "algorithm": "rsa",
    "value": "{your_public_key_value}",
    "createdAt": "2020-01-03T20:30:36.488Z"
  }

Liste des clés :

Obtenez une liste des clés publiques dans votre compte.

GET /v1/accounts/{accountID}/keys

Obtenez une clé :

Obtenez les détails d'une clé publique dans votre compte.

GET /v1/accounts/{accountID}/keys/{key_Id}

Supprimer une clé :

Supprimez une clé publique de votre compte.

DELETE /v1/accounts/{accountID}/keys/{key_Id}

Jetons de liste noire

Un token qui a été mis sur liste noire ne sera pas considéré comme valide pour les demandes de licence, même s'il aurait autrement été approuvé. Les clients peuvent mettre sur liste noire jusqu'à 100 jetons. Si 100 tokens sont déjà sur liste noire, un client doit supprimer un ou plusieurs tokens pour faire de la place pour des entrées supplémentaires.

API de liste noire

L'API Blacklist est utilisée pour gérer vos jetons qui sont sur liste noire et considérés comme non valides pour les demandes de licence.

URL de base

L'URL de base de l'API Blacklist est :

https://playback-auth.api.brightcove.com

Chemin du compte

Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base :

https://playback-auth.api.brightcove.com/v1/accounts/{accountID}/blacklist

Autorisation

Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization :

Authorization:  Bearer  {access_token}

Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.

Autorisations

Les demandes à l'API Blacklist doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :

  • video-cloud/playback-auth/blacklist

Gérer les jetons sur liste noire

Les mises à jour de la liste noire peuvent prendre jusqu'à une minute pour se propager dans le système. L'API Blacklist prend en charge les requêtes suivantes :

Ajouter un jeton à la liste noire :

PUT  (no  req  body)/v1/accounts/{accountID}/blacklist/tokens/{token}

L'intégralité de la chaîne JWT encodée est incluse dans le chemin.

Afficher la liste noire actuelle :

GET  /v1/accounts/{accountId}/blacklist

Vérifiez si un token est sur la liste noire :

GET  /v1/accounts/{accountID}/blacklist/tokens/{token}

L'intégralité de la chaîne JWT encodée est incluse dans le chemin.

Réponses :

  • 204 - le jeton est sur liste noire
  • 404 - le jeton n'est pas sur la liste noire

Supprimer un jeton de la liste noire :

DELETE  /v1/accounts/{accountID}/blacklist/tokens/{token}

L'intégralité de la chaîne JWT encodée est incluse dans le chemin.

Auditer un compte

L'API d'audit vous permet de générer un rapport d'accès quotidien pour l'utilisation du service d'autorisation de lecture de votre compte. Ce rapport comprend des détails ainsi que la réponse d'autorisation pour chaque session.

API d'audit

Voici les détails de l'API d'audit :

URL de base

L'URL de base de l'API d'audit est :

https://playback-auth.api.brightcove.com

Chemin du compte

Dans tous les cas, les demandes seront faites pour un compte Video Cloud spécifique. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base :

https://playback-auth.api.brightcove.com/v1/audit/accounts/{accountID}

Autorisation

Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization :

Authorization:  Bearer  {access_token}

Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.

Autorisations

Les demandes à l'API d'audit doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :

  • video-cloud/playback-auth/audit

Générer des rapports

Utilisez l'API d'audit pour générer un rapport d'accès quotidien avec les détails de la session en procédant comme suit :

  1. Demander un rapport d'utilisation quotidien

    Paramètres

    Champ Type Description
    accountID Chaîne Votre identifiant de compte Video Cloud
    date Chaîne Validations :
    • Format AAAA-MM-JJ
    • La date ne peut pas être aujourd'hui (heure UTC)
    • La date ne peut pas être antérieure à plus de 30 jours
    • Brightcove ne conserve pas les rapports d'utilisation du service d'autorisation après 30 jours pour se conformer au RGPD

    Requête

    Méthode POST
    URL https://playback-auth.api.brightcove.com/v1/audit/accounts/{AccountID}/query/{date}
    Headers Autorisation : Porteur votre jeton d'accès
    Type de contenu : application/json

    Réponse

    Exemple de réponse (200 OK) :

    {
    	"executionID":  "abcdef-asfdag-dvsbcd"
    }

    Détails :

    Champ Type Description
    executionID Chaîne Un identifiant unique associé à un rapport d'utilisation pour un accountID et date. Cet identifiant est transmis aux autres points de terminaison ci-dessous.
  2. Vérifiez l'état de votre rapport

    Requête

    Méthode AVOIR
    URL https://playback-auth.api.brightcove.com/v1/audit/accounts/{AccountID}/execution/{ExecutionId}/statut
    Headers Autorisation : Porteur votre jeton d'accès
    Type de contenu : application/json

    Réponse

    Exemple de réponse (200 OK) :

    {
    	"status":  "completed"
    }
    

    Détails :

    Champ Type Description
    status Chaîne Valeurs : "terminé", "traitement", "échec"
  3. Récupérez votre rapport

    Requête

    Méthode AVOIR
    URL https://playback-auth.api.brightcove.com/v1/audit/accounts/{AccountID}/exécution/{ExecutionId}/rapport
    Headers Autorisation : Porteur votre jeton d'accès
    Type de contenu : application/json

    Réponse

    Exemple de réponse (200 OK) :

    {
        "signedURL":  "https://signed-url",
        "expirationTime":  1569219842
    }
    

    Détails :

    Champ Type Description
    SignedURL Chaîne Les résultats sont renvoyés sous forme d'URL S3 que vous pouvez télécharger
    expirationTime Horodatage de l'époque Les URL S3 signées sont valides pendant 15 minutes

Contraintes

Les limitations suivantes s'appliquent avec la version initiale de cette fonctionnalité :

  • Il y a une limite de 100 jetons sur liste noire. Après cela, une erreur sera renvoyée.