Node.js + ExpressのビデオDRMの統合
Express SDKをインストールし、既存のログインを接続し、承認されたContent IDを1つのリクエストタイムコールバックから返します。
プレビュー版 SDK、アプリのサンプル、ソースが含まれます。展開後のフォルダー構造を維持してください。
カスタマイズする3つの場所#
- 設定
examples/sdk/node-express/server.mjspublicOrigin、instanceIdおよび環境の資格情報を設定します。
- ユーザーを識別
既存のセッション/ログインミドルウェア
req.user を設定し、identity: req => req.user?.id を渡します。
- 認可
authorize(userId, videoId)この動画を調べて、現在のパーミッションを確認します。マッピングやnullを返します。
1. インストールして動画を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.mjsNode.js 24+およびExpress 5を使用して下さい。 server.mjs の authorize の中の your-published-content-id を取り替えて下さい。 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とセッションURLの同じビデオIDを渡します。
本番公開前の確認#
- 許可されたユーザーとしてサインインし、サポートされているブラウザーで公開された動画を再生します。
- 未ログインと未払いのユーザーを試し、権限の取り消しと期限切れもテストします。新規セッション要求は拒否される必要があります。
- ブラウザContent IDまたはWebサイトのビデオIDを変更します。 サーバは新しい選択を点検しなければなりません。
- 公開 HTTPS オリジンを正確に設定し、フレームワークのセッション/CSRF 保護を維持して、デモ用のユーザー識別コードを無効にしてください。
既存のセッションと DRM ライセンスには独自の有効期間があります。新しいリクエストでは権限の変更を確認しますが、発行済みのライセンスを消去するわけではありません。
DRM-X 6.0