DRM-X 6.0 Taube und Olivenzweig LogoDRM-X 6.0Dokumentation
◎ Deutsch

Laravel und Node.js Integrationen

Verbinden Sie Laravel über ContentAuthorizer mit Ihrem bestehenden Katalog und Kaufsystem. Es werden keine DRM-X-Tabellen für Inhalte oder Zugriffsberechtigungen benötigt.

Markdown anzeigenLive-BeispieleAktualisiert 2026-09-25
Laden Sie dieses Plattform-Kit herunter

SDK in der Vorschauversion, Anwendungsbeispiel und Quellcode. Behalten Sie die entpackte Ordnerstruktur bei.

Alle Plattformen und vollständiges Kit · Den Integrationsablauf verstehen

Die drei Orte, die Sie anpassen#

  1. Konfigurierenconfig/drmx.php and server environment

    Legen Sie Anmeldeinformationen, eine stabile Instanz ID und Standardrichtlinien fest.

  2. Autorisierenapp/Services/DrmxAccess.php

    Implementieren Sie ContentAuthorizer mit aktuellen Berechtigungen.

  3. Registrierenapp/Providers/AppServiceProvider.php

    Binden Sie Ihren Authorizer; der Standard verweigert den Zugriff.

1. Installieren Sie die gebündelten Composer-Pakete#

Verwenden Sie Ihre bestehende Laravel-Anwendung (Laravel 12 ist der getestete Pfad), PHP 8.2+ mit cURL und ZIP. Fügen Sie dieses Artefakt-Repository und Abhängigkeit zu seinem composer.json hinzu und bewahren Sie vorhandene Einträge:

{
  "repositories": [{"type": "artifact", "url": "/absolute/path/to/kit/packages/composer"}],
  "require": {"haihaisoft/drmx-laravel": "1.3.0-RC13"},
  "minimum-stability": "RC",
  "prefer-stable": true
}
composer update haihaisoft/drmx-laravel --with-dependencies
php artisan vendor:publish --tag=drmx-config

Sowohl der PHP-Kern als auch Laravel-ZIPs sind im Plattform-Kit enthalten. Konfiguration von DRMX_SITE_ID, DRMX_SITE_KEY und DRMX_ACCESS_KEY. Aktualisieren Sie den Konfigurations-Cache von Laravel nach dem Ändern der Bereitstellungseinstellungen. Dieses Paket lädt keine Migrationen.

2. Implementieren Sie Ihre Berechtigungsprüfung#

Erstellen Sie den Dienst unten in Ihrer Anwendung. Ersetzen Sie customerFindAuthorizedVideo durch Ihre eigene Abfrage; es muss die aktuelle Berechtigung dieses Benutzers überprüfen.

namespace App\Services;
use Haihaisoft\Drmx\Contracts\ContentAuthorizer;
use Illuminate\Contracts\Auth\Authenticatable;

final class DrmxAccess implements ContentAuthorizer {
    public function authorize(Authenticatable $user, string $videoId): ?array {
        $video = customerFindAuthorizedVideo($user->getAuthIdentifier(), $videoId);
        if ($video === null) return null;
        return ['content_id' => $video->drmx_content_id,
                'content_type' => 'vod', 'title' => $video->title];
    }
}

Registrieren Sie es in AppServiceProvider::register():

$this->app->bind(
    \Haihaisoft\Drmx\Contracts\ContentAuthorizer::class,
    \App\Services\DrmxAccess::class
);

Geben Sie null für fehlenden oder verweigerten Zugriff zurück. Ein erster lokaler Test kann den Zugriff auf ein Testkonto und ein Video einschränken, bevor ein festes Content ID zurückgegeben wird. Ersetzen Sie diese Regel vor der Bereitstellung durch Ihre Geschäftsabfrage.

3. Verwenden Sie Ihren normalen Laravel Login#

Melden Sie sich an und öffnen Sie /drmx/videos/lesson-123. Der Adapter liefert authentifizierte Routen und die Player-Seite, führt Ihren Authorizer bei Sitzungsanfragen erneut aus und behält den CSRF-Schutz von Laravel bei. Nehmen Sie die Abfragezeichenfolge des Endpunkts nicht in Zugriffsprotokolle auf. Ältere datenbankgestützte Installationen müssen ihre bisherigen Migrationen behalten; siehe legacy/README.md.

Verwenden Sie stattdessen Node.js?#

Folgen Sie dem Express SDK Tutorial. Sein äquivalenter Erweiterungspunkt ist authorize(userId, videoId).

React, Next.js und Vue#

Download-Frontendkomponenten

Wählen Sie zuerst ein Backend mit Authentifizierung. Kopieren Sie DrmxPlayer.tsx für React/Next.js oder DrmxPlayer.vue für Vue sowie runtime.mjs und runtime.d.mts. Übergeben Sie die autorisierten Werte contentId und contentType sowie sessionEndpoint mit demselben Ursprung. Behalten Sie den Videoselektor und das CSRF-Token in dieser URL bei.

Die Komponenten laden festgelegte Versionen der Player-Skripte. Ihr Server prüft weiterhin den ausgewählten Inhalt und den Benutzer; vom Browser übergebene Eigenschaften erteilen keinen Zugriff.

Vor dem Produktivbetrieb prüfen#

  • Melden Sie sich als erlaubter Benutzer an und spielen Sie ein veröffentlichtes Video in einem unterstützten Browser ab.
  • Testen Sie abgemeldete Benutzer und Benutzer ohne Zahlung sowie widerrufene oder abgelaufene Berechtigungen. Neue Sitzungsanfragen müssen abgelehnt werden.
  • Ändern Sie die Content ID im Browser oder die Video-ID Ihrer Website. Der Server muss die neue Auswahl prüfen.
  • Legen Sie den genauen öffentlichen HTTPS-Ursprung fest, behalten Sie den session/CSRF-Schutz Ihres Frameworks bei und deaktivieren Sie den Demo-Identitätscode.

Bestehende Sitzungen und DRM-Lizenzen haben ihre eigene Lebensdauer. Berechtigungsänderungen werden bei neuen Anfragen überprüft; sie löschen keine bereits ausgestellte Lizenz.