DRM-X 6.0 ডন ও জলপাই শাখা লোগোDRM-X 6.0ডকুমেন্টেশন
◎ বাংলা

Laravel ও Node.js ইন্টিগ্রেশন

ContentAuthorizer দিয়ে Laravel-কে আপনার বর্তমান ক্যাটালগ ও কেনাকাটার ব্যবস্থার সঙ্গে যুক্ত করুন। DRM-X-এর আলাদা কনটেন্ট বা প্রবেশাধিকার টেবিল লাগবে না।

Markdown দেখুনসরাসরি চালানো যায় এমন উদাহরণহালনাগাদ: 2026-09-25
এই প্ল্যাটফর্মের কিট ডাউনলোড করুন

Preview SDK, অ্যাপের উদাহরণ ও সোর্স। এক্সট্র্যাক্ট করা ফোল্ডারের কাঠামো বজায় রাখুন।

সব প্ল্যাটফর্ম ও সম্পূর্ণ কিট · ইন্টিগ্রেশন প্রক্রিয়া বুঝুন

যে তিনটি জায়গা আপনি কাস্টমাইজ করবেন#

  1. কনফিগার করুনconfig/drmx.php and server environment

    শংসাপত্র, স্থায়ী instance ID এবং ডিফল্ট নীতি নির্ধারণ করুন।

  2. অনুমোদন দিনapp/Services/DrmxAccess.php

    বর্তমান অনুমতি ব্যবহার করে ContentAuthorizer বাস্তবায়ন করুন।

  3. নিবন্ধন করুনapp/Providers/AppServiceProvider.php

    আপনার অনুমতি যাচাইয়ের সার্ভিস বাইন্ড করুন; ডিফল্ট আচরণে প্রবেশাধিকার প্রত্যাখ্যান করা হয়।

1. সঙ্গে দেওয়া Composer প্যাকেজ ইনস্টল করুন#

বর্তমান Laravel অ্যাপ (Laravel 12 পরীক্ষিত), cURL ও ZIP-সহ PHP 8.2+ ব্যবহার করুন। আগের entry রেখে এর composer.json-তে এই artifact repository ও dependency যোগ করুন:

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

প্ল্যাটফর্ম কিটে PHP core ও Laravel—দুটির ZIP-ই রয়েছে। DRMX_SITE_ID, DRMX_SITE_KEY ও DRMX_ACCESS_KEY কনফিগার করুন। ডিপ্লয়মেন্ট সেটিংস বদলালে Laravel-এর কনফিগ ক্যাশ হালনাগাদ করুন। এই প্যাকেজ কোনো ডেটাবেস মাইগ্রেশন লোড করে না।

2. অনুমতি যাচাইয়ের কোড লিখুন#

অ্যাপে নিচের সার্ভিস তৈরি করুন। customerFindAuthorizedVideo-এর জায়গায় নিজের কোয়েরি দিন; সেটিকে এই ব্যবহারকারীর বর্তমান অনুমতি যাচাই করতে হবে।

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];
    }
}

AppServiceProvider::register()-তে এটি নিবন্ধন করুন:

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

প্রবেশাধিকার না থাকলে বা প্রত্যাখ্যাত হলে null ফেরত দিন। প্রথম লোকাল পরীক্ষায় স্থির Content ID ফেরত দেওয়ার আগে একটি পরীক্ষামূলক অ্যাকাউন্ট ও একটি ভিডিওতে প্রবেশাধিকার সীমিত রাখতে পারেন। ডিপ্লয় করার আগে এই নিয়মের জায়গায় ব্যবসায়িক কোয়েরি দিন।

3. Laravel-এর স্বাভাবিক লগইন ব্যবহার করুন#

লগইন করে /drmx/videos/lesson-123 খুলুন। অ্যাডাপ্টার পরিচয় যাচাই করা route ও player page দেয়, সেশন অনুরোধে authorizer আবার যাচাই করে এবং Laravel CSRF সুরক্ষা বজায় রাখে। এন্ডপয়েন্টের query string access log-এ রাখবেন না। পুরোনো ডেটাবেস-ভিত্তিক ইনস্টলেশনে আগের মাইগ্রেশন ইতিহাস রাখতে হবে; legacy/README.md দেখুন।

এর বদলে Node.js ব্যবহার করছেন?#

Express SDK নির্দেশিকা অনুসরণ করুন। এর সমতুল্য সম্প্রসারণের স্থান হলো authorize(userId, videoId)।

React, Next.js ও Vue#

ফ্রন্টএন্ড কম্পোনেন্ট ডাউনলোড করুন

প্রথমে পরিচয় যাচাই করে এমন একটি ব্যাকএন্ড বেছে নিন। React/Next.js-এর জন্য DrmxPlayer.tsx অথবা Vue-এর জন্য DrmxPlayer.vue, সঙ্গে runtime.mjs ও runtime.d.mts কপি করুন। অনুমোদিত contentId, contentType এবং একই origin-এর sessionEndpoint পাঠান। সেই URL-এ ভিডিও নির্বাচক ও CSRF টোকেন বজায় রাখুন।

কম্পোনেন্টগুলো নির্দিষ্ট সংস্করণের player script লোড করে। সার্ভারকে তবু নির্বাচিত কনটেন্ট ও ব্যবহারকারী যাচাই করতে হয়; ব্রাউজারের props প্রবেশাধিকার দেয় না।

প্রকাশের আগে যাচাই করুন#

  • অনুমতি আছে এমন ব্যবহারকারী হিসেবে লগইন করে সমর্থিত ব্রাউজারে প্রকাশিত ভিডিও চালান।
  • লগইন না করা ও অর্থ না দেওয়া ব্যবহারকারী পরীক্ষা করুন, তারপর প্রবেশাধিকার বাতিল করুন বা মেয়াদ শেষ করুন। নতুন সেশন অনুরোধ অবশ্যই প্রত্যাখ্যাত হতে হবে।
  • ব্রাউজারে Content ID বা ওয়েবসাইটের ভিডিও ID বদলান। সার্ভারকে নতুন নির্বাচন যাচাই করতে হবে।
  • সঠিক পাবলিক HTTPS origin নির্ধারণ করুন, ফ্রেমওয়ার্কের session/CSRF সুরক্ষা বজায় রাখুন এবং ডেমো identity code বন্ধ করুন।

বর্তমান সেশন ও DRM লাইসেন্সের নিজস্ব মেয়াদ থাকে। নতুন অনুরোধে অনুমতির পরিবর্তন যাচাই করা হয়; এতে আগে ইস্যু করা লাইসেন্স মুছে যায় না।