تكامل DRM للفيديو مع Node.js + Express
ثبّت Express SDK واربط تسجيل الدخول الحالي، وأرجع Content ID مصرّحًا به من دالة تحقق واحدة تُستدعى وقت الطلب.
SDK بإصدار معاينة ومثال تطبيق وشفرة مصدرية. احتفظ ببنية المجلدات بعد الاستخراج.
كل المنصات والحزمة الكاملة · فهم عملية التكامل
المواضع الثلاثة التي تخصّصها#
- الإعداد
examples/sdk/node-express/server.mjsاضبط publicOrigin وinstanceId وبيانات الاعتماد في البيئة.
- تحديد الهوية
وسيط الجلسات وتسجيل الدخول لديك
املأ req.user ومرّر identity: req => req.user?.id.
- منح الإذن
authorize(userId, videoId)استعلم عن هذا الفيديو وتحقق من الصلاحية الحالية؛ وأرجع الارتباط أو null.
1. التثبيت وتشغيل فيديو واحد#
cd examples/sdk/node-express
npm install
# Set DRMX_SITE_ID, DRMX_SITE_KEY and DRMX_ACCESS_KEY on the server.
# For localhost only, set DRMX_LOCAL_DEMO=1.
node server.mjsاستخدم Node.js 24+ وExpress 5. استبدل your-published-content-id داخل authorize في server.mjs. افتح http://127.0.0.1:8109/drmx/videos/1. يثبّت المثال الأرشيفين المرفقين @drmx/server و@drmx/express.
2. ربط الصلاحيات الفعلية#
ركّب الموجّه بعد وسيط تسجيل الدخول. استبدل دالة التحقق التجريبية؛ يمثّل customerCatalog أدناه قاعدة بياناتك أو خدمتك:
identity: req => req.user?.id,
authorize: async (userId, videoId) => {
const video = await customerCatalog.findAuthorizedVideo(userId, videoId);
if (!video) return null;
return { enabled: true, contentId: video.drmxContentId,
contentType: 'vod', title: video.title,
policy: 'multi-tier-standard' };
}تحقق في ذلك الاستعلام من الشراء أو العضوية، وتوفر المحتوى، وانتهاء الصلاحية وإلغائها. تُستدعى دالة التحقق لكل من الصفحة وكل جلسة جديدة. اضبط أصل HTTPS العام بدقة وعطّل وسيط العرض المحلي.
3. فتح المشغّل أو تضمينه#
يوفّر الموجّه GET /drmx/videos/:id وPOST /drmx/videos/:id/session. استخدم الصفحة أولًا. لبناء صفحتك الخاصة، أعد استخدام وسوم البرامج النصية وWeb Component فيها، مع تمرير Content ID المصرّح به ومعرّف الفيديو نفسه في رابط الجلسة.
التحقق قبل النشر#
- سجّل الدخول كمستخدم مسموح له وشغّل فيديو منشورًا في متصفح مدعوم.
- اختبر مستخدمين لم يسجّلوا الدخول وآخرين لم يدفعوا، ثم ألغِ الوصول أو اجعله منتهيًا. يجب رفض طلبات الجلسات الجديدة.
- غيّر Content ID أو معرّف فيديو الموقع في المتصفح. يجب أن يتحقق الخادم من الاختيار الجديد.
- اضبط أصل HTTPS العام بدقة، واحتفظ بحماية الجلسات وCSRF في إطار العمل، وعطّل شفرة الهوية التجريبية.
للجلسات وتراخيص DRM الحالية مدد صلاحية مستقلة. تُفحص تغييرات الصلاحيات عند الطلبات الجديدة؛ ولا تمحو ترخيصًا سبق إصداره.
DRM-X 6.0