Implementieren von Gerätelimits

In diesem Thema erfahren Sie, wie Sie Gerätebeschränkungen für die Videowiedergabe mithilfe von Brightcove-Wiedergabeeinschränkungen aktivieren.

Einleitung

Mit Brightcove-Wiedergabeeinschränkungen können Sie Gerätebeschränkungen für die Videowiedergabe festlegen. Das Gerät jedes Benutzers wird mit einer eindeutigen ID registriert, wenn eine DRM-Lizenzanfrage gestellt wird. Sie steuern die Anzahl der Geräte pro Benutzer.

Das Gerätelimit wird bei jeder Lizenzanfrage überprüft und durchgesetzt. Um diese Einschränkung zu nutzen, müssen Sie a JSON-Webtoken (JWT) mit der aktuellen Benutzerkennung uid zur Wiedergabe-API.

Wenn Sie diese Funktion noch nicht kennen, lesen Sie die Überblick: Dokument „Brightcove Playback Restrictions“

Geräteregistrierung

Ein Gerät wird bei Brightcove registriert, wenn eine gültige Wiedergabeanforderung, die Folgendes enthält: JSON-Webtoken (JWT) mit uid und dlimit Ansprüche eingegangen ist. Ab diesem Moment belegt dieses Gerät einen Steckplatz.

JWT-Ansprüche

Für Gerätegrenzen können Sie neben den allgemein erforderlichen Claims auch die folgenden Claims verwenden:

  • :uid

    Die Benutzer-ID des End-Viewers. Dieses Feld ist für die Geräteregistrierung erforderlich.

  • :dlimit

    Für DRM-Inhalte ist die dlimit Claim gibt an, wie viele Geräte ein Benutzer streamen kann. Jedes Gerät von jedem Benutzer, der einen Stream anfordert, wird registriert. Sobald das Stream-Limit erreicht ist, können keine Geräte mehr streamen.

    Die dlimit Mit Claim können Sie steuern, wie viele Geräte mit dem angegebenen Benutzer verknüpft werden können uid. Der Wert muss > sein 0.

    Wenn die dlimit Anspruchswert in späteren Anfragen fallengelassen wird, können zuvor zugelassene Geräte weiter betrieben werden.

    Beispiel
    Wenn die dlimit Wert wird auf gesetzt 3 kann der Benutzer auf den Geräten A, B und C spielen (alles wäre erlaubt). Der Versuch, auf Gerät D zu spielen, wird abgelehnt.
    Wenn der dlimit Wert auf geändert wird 1, kann der Benutzer weiterhin auf allen 3 Geräten A, B und C spielen, es sei denn, die Geräte werden manuell gesperrt, indem Geräte mit der Geräte-API verwaltet werden. Siehe dazu die Geräte verwalten Sektion.

Implementierung

Gehen Sie folgendermaßen vor, um Gerätebeschränkungen zu verwenden:

  1. Ein ... kreieren JSON-Web-Token (JWT) mit den allgemein erforderlichen Ansprüchen nebst der uid Und dlimit Ansprüche.

    Das Gerät jedes Benutzers wird mit einer eindeutigen ID registriert, wenn eine DRM-Lizenzanfrage gestellt wird.

  2. Benutzergeräte verwalten mit der Geräte-API. Mit dieser API können Sie die Geräte für einen Benutzer abrufen, Geräte löschen und den Namen für ein Gerät aktualisieren.

    Wenn ein Gerät registriert ist, wird es durch ID und Spitzname identifiziert. Mit der Geräte-API können Sie den Geräte-Spitznamen bearbeiten, sodass Sie Ihre Geräteliste einfach verwalten können.

  3. Konfigurieren Sie Ihren Player die JSON Web Token (JWT) im vorherigen Schritt erstellt.

Geräte verwalten

Sie können Benutzergeräte mit dem Geräte-API.

Geräte-API

Mit der Geräte-API können Sie Benutzergeräte abrufen und löschen.

Basis-URL

Die Basis-URL für die API lautet:

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

Account-Pfad

In allen Fällen werden Anfragen für ein bestimmtes Video Cloud-Konto gestellt. Sie fügen also immer den Begriff Konten gefolgt von Ihrer Konto-ID zur Basis-URL hinzu:

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

Autorisierung

Ein Zugriffstoken für Anfragen ist erforderlich und muss im Authorization-Header vorhanden sein:

Authorization: Bearer {access_token}

Das Zugriffstoken ist ein temporäres OAuth2-Zugriffstoken, das vom Brightcove OAuth-Dienst abgerufen werden muss. Ausführliche Informationen zum Abrufen von Client-Anmeldeinformationen und deren Verwendung zum Abrufen von Zugriffstoken finden Sie im Übersicht über Brightcove OAuth.

Berechtigungen

Anfragen an die Geräte-API müssen gestellt werden von Kundenanmeldeinformationen mit folgenden Berechtigungen:

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

API-Methoden

Die Geräte-API unterstützt die folgenden Anforderungen. Einzelheiten finden Sie im Geräte-API-Referenz.

Holen Sie sich alle Benutzergeräte

Ruft alle Geräte für das angegebene Konto und den angegebenen Benutzer ab.

Endpunkt anfordern
GET /v1/accounts/{accountID}/users/{userID}/devices
Antworttext

Der Antworttext enthält ein Array von Geräten und sollte ungefähr so aussehen:

[
    {
        "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"
    }
]

Alle Kontogeräte abrufen

Abrufen aller Geräte für jeden Benutzer innerhalb eines Kontos. Sie werden die verwenden page Und per_page Parameter, um die Reaktion zu begrenzen.

Endpunkt anfordern
GET /v1/accounts/{accountID}/devices?page=0&per_page=10

Parameter:

Feld Typ Beschreibung Standardwert Maximaler Wert
page Ganze Zahl Index der anzufordernden Seite. Ist die Anzahl der Seiten größer als das Seitenlimit, wird die letzte Seite genommen. 0 Letzter Index
per_page Ganze Zahl Anzahl der Elemente, die in der Anfrage angezeigt werden sollen. Sie können zwischen 1 und 100 Einträgen wählen. Wenn Sie keinen Wert angeben, wird der Standardwert verwendet. 10 100

Antworttext

Der Antwortkörper enthält eine Reihe von Benutzern und Geräten:

{
  "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"
    }
  ]
}

Gerätenamen aktualisieren

Aktualisieren Sie den Gerätenamen für das angegebene Konto, den Benutzer und das Gerät.

Endpunkt anfordern

Die PATCH Mit request können Sie einen beschreibenden Namen für das Gerät festlegen.

PATCH  /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}
  Content-Type: application/json
  Body: {devices object}
Körper der Anfrage

Der Anfragetext enthält den Gerätenamen.

{
    "name": "my device1"
}

Hier die Felddetails:

Feld Typ Beschreibung
name Zeichenfolge Ein beschreibender Spitzname zur Identifizierung des Geräts

Alle Benutzergeräte löschen

Alle mit einem Benutzer verbundenen Geräte löschen.

Endpunkt anfordern
DELETE /v1/accounts/{accountID}/users/{userID}/devices

Löschen eines bestimmten Benutzergeräts

Ein bestimmtes Gerät für einen Benutzer löschen.

Endpunkt anfordern
DELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}