پلیر امن Node.js؛ ویدیوی رمزگذاری‌شده با Express

سایت آموزشی‌تان با Node.js کار می‌کند؟ در مسیر صفحه‌ی درس با یک fetch توکن بگیرید و پلیر امن را برای کاربر واردشده نشان دهید.

چرا XAPlayer برای Node.js

  • بدون کتابخانه

    fetch خود Node.js کافی است؛ نسخه‌ی ۱۸ به بعد.

  • کلید فقط روی سرور

    کلید API در متغیر محیطی می‌ماند و هیچ‌وقت در باندل مرورگر قرار نمی‌گیرد.

  • نام کاربر روی ویدیو

    نام و شماره‌ای که از نشست کاربر می‌فرستید، واترمارک ویدیو می‌شود.

  • جلوگیری از دانلود

    جلسه‌ها رمزگذاری‌شده پخش می‌شوند و دانلودرها چیز قابل پخشی برنمی‌دارند.

سه قدم تا پخش امن

  1. کلید API را در متغیر محیطی XAPLAYER_API_KEY بگذارید.
  2. در مسیر صفحه‌ی درس، بعد از بررسی دسترسی توکن بگیرید.
  3. نشانی پلیر را در iframe قالب‌تان بگذارید.

آموزش‌ها و مستندات

نمونه‌ی کد

کد کامل، محل قرار دادن آن و آزمایشش در آموزش آمده است.

routes/watch.js
const res = await fetch('https://xaplayer.ir/api/v1/embed-tokens', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.XAPLAYER_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ courseId: 'COURSE_ID', viewer: { id: user.id, name: user.name } }),
});
const { url } = await res.json(); // put it in an <iframe>

سؤالات متداول

بله. همان یک درخواست fetch در هر فریم‌ورک Node.js کار می‌کند.

نسخه‌ی ۱۸ یا جدیدتر که fetch داخلی دارد؛ در نسخه‌های قدیمی‌تر از undici یا axios استفاده کنید.

نه. هر بار که صفحه برای هر کاربر باز می‌شود یک توکن تازه بگیرید تا نام همان کاربر روی ویدیو بیاید.

videoId را به‌جای courseId بفرستید.

پلتفرم‌های دیگر

دوره‌تان را همین امروز امن کنید

ثبت‌نام کمتر از دو دقیقه طول می‌کشد. ۱۴ روز رایگان، با ۱۰ لایسنس هدیه.

شروع رایگان ۱۴ روزه