Implémentation des limites de périphérique

Dans cette rubrique, vous apprendrez à activer les limites de périphériques pour la lecture vidéo à l'aide des restrictions de lecture de Brightcove.

Introduction

Avec les restrictions de lecture Brightcove, vous pouvez définir des limites de périphérique pour la lecture vidéo. L'appareil de chaque utilisateur est enregistré avec un identifiant unique lorsqu'une demande de licence DRM est effectuée. Vous contrôlez le nombre d'appareils par utilisateur.

La limite d'appareils est vérifiée et appliquée à chaque demande de licence. Pour utiliser cette restriction, vous passerez un Jeton Web JSON (JWT) avec l'identifiant actuel de l'utilisateur uid à l'API de lecture.

Si cette fonctionnalité est nouvelle pour vous, consultez la vue d'ensemble : Document sur les restrictions de lecture Brightcove.

Enregistrement de l'appareil

Un appareil est enregistré auprès de Brightcove lorsqu'une demande de lecture valide qui inclut un Jeton Web JSON (JWT) avec uid et dlimit les réclamations sont reçues. A partir de ce moment, cet appareil occupera un emplacement.

Revendications JWT

Pour les limites d'appareils, vous pouvez utiliser les revendications suivantes avec les revendications généralement requises :

  • :uid

    L'identifiant de l'utilisateur final. Ce champ est obligatoire pour l'enregistrement de l'appareil.

  • :dlimit

    Pour le contenu DRM, le dlimit La revendication indique le nombre d'appareils qu'un utilisateur peut diffuser. Chaque appareil de chaque utilisateur demandant un flux est enregistré. Une fois la limite de diffusion atteinte, plus aucun appareil ne pourra diffuser.

    Les dlimit la revendication vous permet de contrôler le nombre d'appareils pouvant être associés à l'utilisateur spécifié uid. La valeur doit être > 0.

    Si la dlimit la valeur de la réclamation est supprimée dans les demandes ultérieures, les appareils précédemment autorisés continueront de fonctionner.

    Exemple
    Si la dlimit valeur est définie sur 3, l'utilisateur peut jouer sur les appareils A, B et C (tout serait autorisé). Essayer de jouer sur l'appareil D serait refusé.
    Si la dlimit valeur est remplacée par 1, l'utilisateur peut toujours jouer sur les 3 appareils A, B et C, à moins que les appareils ne soient révoqués manuellement en gérant les appareils à l'aide de l'API Devices. Pour ce faire, consultez le Gérer les appareils section.

Mise en œuvre

Pour utiliser les limites d'appareils, procédez comme suit :

  1. Créer un Jeton Web JSON (JWT) avec les revendications généralement requises ainsi que les uid et dlimit réclamations.

    L'appareil de chaque utilisateur est enregistré avec un identifiant unique lorsqu'une demande de licence DRM est effectuée.

  2. Gérer les appareils des utilisateurs avec l'API des appareils. Cette API vous permet d'obtenir les appareils d'un utilisateur, de supprimer des appareils et de mettre à jour le nom d'un appareil.

    Lorsqu'un appareil est enregistré, il est identifié par son identifiant et son pseudonyme. L'API des appareils vous permet de modifier le surnom de l'appareil, ce qui facilite la gestion de votre liste d'appareils.

  3. Configurez votre lecteur pour utiliser le JSON Web Token (JWT) créé à l'étape précédente.

Gérer les appareils

Vous pouvez gérer les appareils utilisateur avec le API des appareils.

API des appareils

Avec l'API Devices, vous pouvez obtenir et supprimer des appareils utilisateur.

URL de base

L'URL de base de l'API est :

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

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 Devices doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :

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

Méthodes API

L'API Devices prend en charge les requêtes suivantes. Pour plus de détails, consultez le Référence de l'API des appareils.

Obtenir tous les appareils utilisateur

Obtenir tous les appareils pour le compte et l'utilisateur spécifiés.

Point d'arrivée de la demande
GET /v1/accounts/{accountID}/users/{userID}/devices
Corps de réponse

Le corps de la réponse contient un tableau de périphériques et devrait ressembler à ceci :

[
    {
        "id": "12e12345-11e1-1bd1-d123-1234567890",
        "created_at": 1612646018,
        "updated_at": 1612646018,
        "name": "my device1",
        "user_agent": "PlayReadyClient"
    },
    {
        "id": "WVCf123456789abcdefghijkl1234567890abcdefg",
        "created_at": 1612385697,
        "updated_at": 1612385697,
        "name": "my device2",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"
    }
]

Obtenir tous les dispositifs du compte

Obtenir tous les appareils de chaque utilisateur d'un compte. Vous utiliserez le page et per_page paramètres pour limiter la réponse.

Point d'arrivée de la demande
GET /v1/accounts/{accountID}/devices?page=0&per_page=10

Paramètres :

Champ Type Description Valeur par défaut Valeur maximale
page Entier Index de la page à demander. Si le nombre est supérieur à la limite de pages, la dernière page sera prise en compte. 0 Dernier indice
per_page Entier Nombre d'éléments à afficher dans la demande. Le nombre d'éléments peut être compris entre 1 et 100. Si vous ne définissez pas de valeur, la valeur par défaut est utilisée. 10 100

Organe de réponse

Le corps de la réponse contient un tableau d'utilisateurs et d'appareils :

{
  "metadata": 
  {
    "page": 3,
    "per_page": 10,
    "page_count": 5,
    "total_count": 55,
    "Links": [
      {"self": "/v1/accounts/123456/devices?page=3&per_page=10"},
      {"first": "/v1/accounts/123456/devices?page=0&per_page=10"},
      {"previous": "/v1/accounts/123456/devices?page=2&per_page=10"},
      {"next": "/v1/accounts/123456/devices?page=4&per_page=10"},
      {"last": "/v1/accounts/123456/devices?page=4&per_page=10"}
    ]
  },
  "records": [
    {
      "account_id": "123456",
      "user_id": "user_1",
      "device": "device_1"
    },
    {
      "account_id": "123456",
      "user_id": "user_1",
      "device": "device_2"
    },
    ...
    {
      "account_id": "123456",
      "user_id": "user_10",
      "device": "device_1"
    }
  ]
}

Mettre à jour le nom de l'appareil

Mettre à jour le nom de l'appareil pour le compte, l'utilisateur et l'appareil spécifiés.

Point d'arrivée de la demande

Les PATCH demande vous permet de définir un nom descriptif pour l'appareil.

PATCH  /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}
  Content-Type: application/json
  Body: {devices object}
Corps de la demande

Le corps de la requête contient le nom de l'appareil.

{
    "name": "my device1"
}

Voici les détails du terrain :

Champ Type Description
name Chaîne Un surnom descriptif pour aider à identifier l'appareil

Supprimer tous les appareils utilisateur

Supprimer tous les appareils associés à un utilisateur.

Point d'arrivée de la demande
DELETE /v1/accounts/{accountID}/users/{userID}/devices

Supprimer un appareil utilisateur spécifique

Supprimer un appareil spécifique pour un utilisateur.

Point d'arrivée de la demande
DELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}