Implementación de límites de dispositivos

En este tema, aprenderá a habilitar los límites de dispositivos para la reproducción de video mediante las Restricciones de reproducción de Brightcove.

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 especificado uid. 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 el dlimit el valor se establece en 3 , 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 el dlimit el valor se cambia a 1 , 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:

  1. Crear un Token web JSON (JWT) con los reclamos generalmente requeridos junto con el uid y dlimit reclamación (es.

    El dispositivo de cada usuario se registra con una identificación única cuando se realiza una solicitud de licencia DRM.

  2. 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.

  3. 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 final
GET /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.

Solicitar punto final
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 final
DELETE /v1/accounts/{accountID}/users/{userID}/devices

Eliminar un dispositivo de usuario específico

Eliminar un dispositivo específico para un usuario.

Solicitar punto final
DELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}