Introducción
Con las restricciones de reproducción de Brightcove, puede establecer límites de dispositivo para la reproducción de video. El dispositivo de cada usuario se registra con una identificación única cuando se realiza una solicitud de licencia DRM. Tú controlas la cantidad de dispositivos por usuario.
El límite de dispositivos se comprueba y se aplica con cada solicitud de licencia. Para utilizar esta restricción, deberá pasar una Token web JSON (JWT) con la identificación de usuario actual uid
a la API de reproducción.
Si es nuevo en esta función, consulte la Descripción general: Documento de restricciones de reproducción de Brightcove.
Registro de dispositivo
Un dispositivo se registra con Brightcove cuando una solicitud de reproducción válida que incluye un Token web JSON (JWT) con uid
y dlimit
se reciben reclamaciones. A partir de ese momento, este dispositivo ocupará una ranura.
Reclamaciones de JWT
Para los límites de dispositivos, puede utilizar las siguientes afirmaciones junto con las reclamaciones generalmente requeridas:
-
uid
:El ID de usuario del visor final. Este campo es obligatorio para el registro del dispositivo.
-
dlimit
:Para contenido DRM, el
dlimit
reclamo indica cuántos dispositivos puede transmitir un usuario. Se registra cada dispositivo de cada usuario que solicita una transmisión. Una vez que se alcanza el límite de transmisión, no se podrán transmitir más dispositivos.La
dlimit
reclamo le permite controlar cuántos dispositivos se pueden asociar con el usuario especificadouid
. El valor debe ser>0
.Si el
dlimit
El valor de reclamo se elimina en solicitudes posteriores, los dispositivos previamente permitidos continuarán funcionando.Ejemplo
Si eldlimit
el valor se establece en3
, el usuario puede jugar en los dispositivos A, B y C (todos estarían permitidos). Intentar jugar en el dispositivo D sería denegado.
Si eldlimit
el valor se cambia a1
, el usuario aún puede jugar en los 3 dispositivos A, B y C, a menos que los dispositivos se revoquen manualmente mediante la administración de dispositivos con la API de dispositivos. Para hacer esto, vea el Administrar dispositivos sección.
Implementación
Para usar los límites de dispositivos, siga estos pasos:
-
Crear un Token web JSON (JWT) con los reclamos generalmente requeridos junto con el
uid
ydlimit
reclamación (es.El dispositivo de cada usuario se registra con una identificación única cuando se realiza una solicitud de licencia DRM.
-
Administrar los dispositivos de los usuarios con la API de dispositivos. Esta API le permite obtener los dispositivos de un usuario, eliminar dispositivos y actualizar el nombre de un dispositivo.
Cuando se registra un dispositivo, se identifica mediante una identificación y un apodo. La API de dispositivos le permite editar el apodo del dispositivo, lo que facilita la administración de su lista de dispositivos.
- Configura tu reproductor usar el JSON Web Token (JWT) creado en el paso anterior.
Administrar dispositivos
Puede administrar los dispositivos de los usuarios con el API de dispositivos.
API de dispositivos
Con la API de dispositivos, puede obtener y eliminar dispositivos de usuario.
URL base
La URL base de la API es:
https://playback-auth.api.brightcove.com/v1
Ruta de la cuenta
En todos los casos, las solicitudes se realizarán para un Video Cloud Cuenta. Por lo tanto, siempre agregará el término cuentas seguido de la identificación de su cuenta a la URL base:
https://playback-auth.api.brightcove.com/v1/accounts/{accountID}
Autorización
Se requiere un token de acceso para las solicitudes y debe estar presente en el encabezado de Autorización:
Authorization: Bearer {access_token}
El token de acceso es un token de acceso OAuth2 temporal que debe obtenerse del servicio Brightcove OAuth. Para obtener detalles sobre cómo obtener credenciales de cliente y usarlas para recuperar tokens de acceso, consulte la Descripción general de Brightcove OAuth.
Permisos
Las solicitudes a la API de dispositivos deben realizarse desde credenciales del cliente con los siguientes permisos:
-
video-cloud/playback-auth/devices/read
-
video-cloud/playback-auth/devices/write
Métodos API
La API de dispositivos admite las siguientes solicitudes. Para obtener más detalles, consulte la Referencia de API de dispositivos.
Obtén todos los dispositivos de usuario
Obtenga todos los dispositivos para la cuenta y el usuario especificados.
Solicitar punto finalGET /v1/accounts/{accountID}/users/{userID}/devices
Cuerpo de respuesta
El cuerpo de la respuesta contiene una serie de dispositivos y debería tener un aspecto similar a esto:
[
{
"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"
}
]
Obtener todos los dispositivos de la cuenta
Obtenga todos los dispositivos para cada usuario dentro de una cuenta. Usarás el page
y per_page
parámetros para limitar la respuesta.
GET /v1/accounts/{accountID}/devices?page=0&per_page=10
Parámetros:
Campo | Tipo | Descripción | Valor por defecto | valor máximo |
---|---|---|---|---|
page |
Entero | Índice de la página a solicitar. Si el número es mayor que el límite de páginas, tomará la última página. | 0 | último índice |
per_page |
Entero | Número de elementos a mostrar en la solicitud. Puede configurarlo de 1 a 100 elementos. Si no establece un valor, se utiliza el valor predeterminado. | 10 | 100 |
Cuerpo de respuesta
El cuerpo de la respuesta contiene una matriz de usuarios y dispositivos:
{
"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"
}
]
}
Actualizar el nombre del dispositivo
Actualice el nombre del dispositivo para la cuenta, el usuario y el dispositivo especificados.
Solicitar punto final
La PATCH
solicitud le permite establecer un nombre descriptivo para el dispositivo.
PATCH /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}
Content-Type: application/json
Body: {devices object}
cuerpo de la solicitud
El cuerpo de la solicitud contiene el nombre del dispositivo.
{
"name": "my device1"
}
Aquí están los detalles del campo:
Campo | Tipo | Descripción |
---|---|---|
name |
Cadena | Un apodo descriptivo para ayudar a identificar el dispositivo. |
Eliminar todos los dispositivos de usuario
Elimine todos los dispositivos asociados con un usuario.
Solicitar punto finalDELETE /v1/accounts/{accountID}/users/{userID}/devices
Eliminar un dispositivo de usuario específico
Eliminar un dispositivo específico para un usuario.
Solicitar punto finalDELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}