DRM-X 6.0 logo de la colombe et de la branche d'oliveDRM-X 6.0Documentation
◎ Français

Vidéo protégée Django

Utilisez l'authentification Django et votre propre rappel d'autorisation. Le paquet DRM-X ne crée aucune table vidéo ou d'accès.

Voir le MarkdownExemples en ligneMis à jour le 2026-09-25
Télécharger ce kit de plateforme

SDK en préversion, exemple d’application et code source. Conservez l’arborescence extraite.

Toutes les plateformes et kit complet · Comprendre le processus d'intégration

Les trois endroits que vous personnalisez#

  1. Configurersettings.py

    Ajoutez drmx et configurez DRMX, y compris AUTHORIZE.

  2. Autoriser

    Votre application : drmx_access.py

    Implémentez authorize(user, video_id) à partir de votre système existant.

  3. Configurer les routesurls.py

    Incluez drmx.urls ; réutilisez vos middlewares habituels de connexion et de protection CSRF.

1. Installer le paquet wheel#

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

Utilisez Python 3.12+ et une version Django prise en charge (5.2–6.0). Ajouter drmx à INSTALLED_APPS. Gardez l'authentification, les sessions et CsrfViewMiddleware. Aucune commande de migration DRM-X n'est nécessaire pour une nouvelle installation; votre propre application peut encore avoir besoin de ses migrations normales.

2. Configurer les paramètres et les routes#

# 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'))

Importer os dans les paramètres et path/include dans les urls comme d'habitude. Remplacer myapp par votre module d'application.

3. Retourner le contenu autorisé#

Créez myapp/drmx_access.py. L’appel à la couche d’accès aux données ci-dessous est un exemple ; utilisez votre requête actuelle de vérification des achats, de l’adhésion ou de l’inscription.

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}

Pour le premier test local, autorisez un utilisateur de test existant et un identifiant vidéo du site, puis retournez votre Content ID publié. Réservez cette règle temporaire au test local. Le fichier examples/sdk/django/authorization.py fourni refuse tout accès tant que vous ne l’avez pas implémenté.

Dans la production, utilisez la requête de base de données sur chaque appel. Retournez None lorsque l'accès est manquant, expiré ou révoqué. La politique omise utilise votre valeur par défaut configurée.

4. Connectez-vous et ouvrez le lecteur#

Ouvrez /video/lesson-123/ avec l’identifiant vidéo choisi dans votre site. Les identifiants sous forme de chaînes et les UUID sont acceptés. Le SDK fournit la page du lecteur et l’endpoint de session, et exécute à nouveau le callback à chaque requête.

Conserver des protections normales Django#

Conservez la validation CSRF fournie et l’endpoint de même origine. Le lecteur actuel transmet un jeton CSRF masqué dans l’URL de l’endpoint ; excluez sa chaîne de requête des journaux d’accès et conservez le comportement no-store/no-referrer. Utilisez HTTPS et des cookies de session sécurisés.

Mise à niveau d'une ancienne installation avec des tables DRM-X ? Préservez son historique de migration et lisez legacy/README.md avant de supprimer l'ancienne application. La nouvelle SDK ne supprime pas ces tables.

Vérifications avant la mise en production#

  • Se connecter en tant qu'utilisateur autorisé et lire une vidéo publiée dans un navigateur pris en charge.
  • Testez des utilisateurs déconnectés et n’ayant pas payé, puis révoquez ou faites expirer l’accès. Les nouvelles demandes de session doivent être refusées.
  • Modifiez le Content ID dans le navigateur ou l’identifiant vidéo du site. Le serveur doit vérifier la nouvelle sélection.
  • Définissez l'origine publique exacte de HTTPS, gardez votre framework pour la protection session/CSRF et désactivez le code d'identité de démo.

Les sessions existantes et les licences DRM ont leur propre durée de vie. Les modifications de permission sont vérifiées sur de nouvelles requêtes; elles n'effacent pas une licence déjà délivrée.