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 ladlimit
valeur est définie sur3
, l'utilisateur peut jouer sur les appareils A, B et C (tout serait autorisé). Essayer de jouer sur l'appareil D serait refusé.
Si ladlimit
valeur est remplacée par1
, 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 :
-
Créer un Jeton Web JSON (JWT) avec les revendications généralement requises ainsi que les
uid
etdlimit
réclamations.L'appareil de chaque utilisateur est enregistré avec un identifiant unique lorsqu'une demande de licence DRM est effectuée.
-
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.
- 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 demandeGET /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.
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 demandeDELETE /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 demandeDELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}