DRM-X 6.0 鳩とオリーブの枝のロゴDRM-X 6.0ドキュメント
◎ 日本語

Django保護ビデオ

Django 認証と独自の権限チェック用コールバックを使います。DRM-X パッケージは動画テーブルやアクセス許可テーブルを作成しません。

Markdown を表示動作サンプル更新日:2026-09-25
このプラットフォームキットをダウンロード

プレビュー版 SDK、アプリのサンプル、ソースが含まれます。展開後のフォルダー構造を維持してください。

全プラットフォームと完全キット · 統合手順を理解する

カスタマイズする3つの場所#

  1. 設定settings.py

    drmx を追加し、AUTHORIZE を含む DRMX を設定します。

  2. 認可

    アプリ内の drmx_access.py

    既存システムに基づいて authorize(user, video_id) を実装します。

  3. ルート設定urls.py

    drmx.urls を組み込み、通常のログインと CSRF ミドルウェアを再利用します。

1. wheel パッケージをインストール#

# From the extracted kit root:
python -m pip install packages/python/drmx_django-1.3.0rc13-py3-none-any.whl

Python 3.12+ とサポート対象の Django(5.2–6.0)を使います。drmx を INSTALLED_APPS に追加し、認証、セッション、CsrfViewMiddleware を維持します。新規インストールに DRM-X のマイグレーションコマンドは不要ですが、お客様のアプリ自体には通常のマイグレーションが必要な場合があります。

2. 設定とルートを構成#

# settings.py — keep your existing application settings
DRMX = {
    'SITE_ID': os.environ['DRMX_SITE_ID'],
    'SITE_KEY': os.environ['DRMX_SITE_KEY'],
    'ACCESS_KEY': os.environ['DRMX_ACCESS_KEY'],
    'INSTANCE_ID': 'my-website',
    'POLICY': 'multi-tier-standard',
    'AUTHORIZE': 'myapp.drmx_access.authorize',
}
# urls.py — add to your existing urlpatterns
path('video/', include('drmx.urls'))

通常どおり settings に os、urls に path/include をインポートします。myapp をアプリのモジュール名に置き換えます。

3. アクセスが許可されたコンテンツを返す#

myapp/drmx_access.py を作成します。以下のリポジトリ呼び出しは例です。既存の購入・会員資格・受講登録のクエリで実装してください。

def authorize(user, video_id):
    video = customer_catalog.find_authorized_video(user.id, video_id)
    if video is None:
        return None
    return {'content_id': video.drmx_content_id,
            'content_type': 'vod', 'title': video.title}

最初のローカルテストでは、既存のテストユーザー1人とサイトの動画 ID 1つだけを許可し、公開済みの Content ID を返します。この一時的な許可規則はローカルテストに限定してください。同梱の examples/sdk/django/authorization.py は、実装するまで全員のアクセスを拒否します。

本番では毎回データベースを照会します。権限がない、期限切れ、または取り消された場合は None を返します。ポリシーを省略すると設定済みのデフォルトが使われます。

4. ログインしてプレーヤーを開く#

選択したサイトの動画 ID を使って /video/lesson-123/ を開きます。文字列 ID と UUID に対応しています。SDK はプレーヤーページとセッションエンドポイントを提供し、各リクエストでコールバックを再実行します。

Django の通常の保護を維持する#

同梱の CSRF 検証と同一オリジンのエンドポイントを維持します。現在のプレーヤーはエンドポイント URL にマスク済み CSRF トークンを渡します。クエリ文字列をアクセスログから除外し、no-store/no-referrer の動作を維持してください。HTTPS と安全なセッション cookie を使用します。

DRM-Xテーブルで古いインストールをアップグレードしますか? 移行履歴を保存し、古いアプリを削除する前に legacy/README.md を読み込みます。 新しい SDK はこれらのテーブルを削除しません。

本番公開前の確認#

  • 許可されたユーザーとしてサインインし、サポートされているブラウザーで公開された動画を再生します。
  • 未ログインと未払いのユーザーを試し、権限の取り消しと期限切れもテストします。新規セッション要求は拒否される必要があります。
  • ブラウザContent IDまたはWebサイトのビデオIDを変更します。 サーバは新しい選択を点検しなければなりません。
  • 公開 HTTPS オリジンを正確に設定し、フレームワークのセッション/CSRF 保護を維持して、デモ用のユーザー識別コードを無効にしてください。

既存のセッションと DRM ライセンスには独自の有効期間があります。新しいリクエストでは権限の変更を確認しますが、発行済みのライセンスを消去するわけではありません。