Integraciones Laravel y Node.js
Conecte Laravel a su catálogo y sistema de compras existentes mediante ContentAuthorizer. No se requieren tablas de contenido ni de permisos de acceso de DRM-X.
SDK en versión preliminar, ejemplo de aplicación y código fuente. Conserve la estructura de carpetas extraída.
Todas las plataformas y el kit completo · Entender el proceso de integración
Los tres puntos que debe personalizar#
- Configuración
config/drmx.php and server environmentEstablecer credenciales, una instancia estable ID y una política predeterminada.
- Autorizar
app/Services/DrmxAccess.phpImplementar ContentAuthorizer con permisos actuales.
- Registrar
app/Providers/AppServiceProvider.phpRegistre su servicio de autorización; el comportamiento predeterminado deniega el acceso.
1. Instalar los paquetes Composer incluidos#
Utilice su aplicación Laravel existente (Laravel 12 es el camino probado), PHP 8.2+ con cURL y ZIP. Añada este repositorio de artefactos y dependencia a su composer.json, preservando las entradas existentes:
{
"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-configEl kit de plataforma incluye los ZIP del núcleo PHP y de Laravel. Configure DRMX_SITE_ID, DRMX_SITE_KEY y DRMX_ACCESS_KEY. Actualice la caché de configuración de Laravel después de cambiar los ajustes de despliegue. Este paquete no carga migraciones.
2. Implementar la comprobación de permisos#
Cree el servicio a continuación en su aplicación. Reemplace customerFindAuthorizedVideo con su propia consulta; debe comprobar el permiso actual de este usuario.
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];
}
}Regístrelo en AppServiceProvider::register():
$this->app->bind(
\Haihaisoft\Drmx\Contracts\ContentAuthorizer::class,
\App\Services\DrmxAccess::class
);Regrese null por falta de acceso o denegado. Una primera prueba local puede restringir el acceso a una cuenta de prueba y un vídeo antes de devolver un Content ID fijo. Sustitúyase esa regla con su consulta de negocios antes del despliegue.
3. Utilice su inicio de sesión Laravel normal#
Iniciar sesión y abrir /drmx/videos/lesson-123. El adaptador suministra las rutas autenticadas y la página de reproductores, vuelve a comprobar su autorizador en las solicitudes de sesión y conserva la protección Laravel CSRF. Mantenga la cadena de consulta de endpoint fuera de los registros de acceso. Una instalación respaldada por bases de datos más antiguas debe preservar sus migraciones históricas; véase legacy/README.md.
¿Usando Node.js en cambio?#
Siga el tutorial de Express SDK. Su punto de extensión equivalente es authorize(userId, videoId).
React, Next.js y Vue#
Descargar componentes de frontend
Elija primero un backend que autentique al usuario. Copie DrmxPlayer.tsx para React/Next.js o DrmxPlayer.vue para Vue, junto con runtime.mjs y runtime.d.mts. Pase los valores autorizados contentId y contentType, y sessionEndpoint del mismo origen. Conserve el selector de vídeo y el token CSRF en esa URL.
Los componentes cargan versiones fijas de los scripts del reproductor. El servidor sigue comprobando el contenido seleccionado y el usuario; las propiedades enviadas por el navegador no conceden acceso.
Comprobar antes de pasar a producción#
- Inicie sesión como usuario permitido y reproducir un vídeo publicado en un navegador compatible.
- Pruebe usuarios sin sesión iniciada y usuarios que no hayan pagado; después, revoque el acceso o haga que caduque. Las nuevas solicitudes de sesión deben denegarse.
- Modifique el Content ID en el navegador o el ID de vídeo del sitio. El servidor debe comprobar la nueva selección.
- Establezca el origen HTTPS público exacto, mantenga la protección session/CSRF de su marco, y desactive el código de identidad de demostración.
Las sesiones existentes y las licencias DRM tienen sus propios periodos de validez. Las nuevas solicitudes comprueban los cambios de permisos; no borran una licencia ya emitida.
DRM-X 6.0