Vídeo protegido Django
Use a autenticação Django e sua própria chamada de permissão. O pacote DRM-X não cria tabelas de vídeo ou de acesso.
SDK em versão prévia, exemplo de aplicação e código-fonte. Mantenha a estrutura de pastas extraída.
Todas as plataformas e kit completo · Entenda o processo de integração
Os três pontos que você personaliza#
- Configurar
settings.pyAdicione drmx e configure DRMX, incluindo AUTHORIZE.
- Autorizar
Seu aplicativo: drmx_access.py
Implemente authorize(user, video_id) usando seu sistema existente.
- Rota
urls.pyIncluir o drmx.urls; reutilizar o seu login normal e o middleware CSRF.
1. Instalar o pacote wheel#
# From the extracted kit root:
python -m pip install packages/python/drmx_django-1.3.0rc13-py3-none-any.whlUse Python 3.12+ e uma versão Django suportada (5.2–6.0). Adicionar drmx ao INSTALLED_APPS. Manter autenticação, sessões e CsrfViewMiddleware. Nenhum comando de migração DRM-X é necessário para uma nova instalação; seu próprio aplicativo ainda pode precisar de suas migrações normais.
2. Configurar as configurações e rotas#
# 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'))Importar os em configurações e path/include em urls como de costume. Substitua o myapp pelo seu módulo de aplicação.
3. Devolver o conteúdo autorizado#
Criar myapp/drmx_access.py. A chamada do repositório abaixo é ilustrativa; use sua consulta atual de compra, adesão ou inscrição.
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}No primeiro teste local, permita um usuário de teste existente e um ID de vídeo do site, retornando seu Content ID publicado. Restrinja essa regra temporária ao teste local. O arquivo examples/sdk/django/authorization.py incluído nega todo acesso até que você o implemente.
Na produção use a consulta de banco de dados em cada chamada. Retornar None quando o acesso estiver faltando, expirado ou revogado. A política de omissão usa o seu padrão configurado.
4. Entrar e abrir o reprodutor#
Abra /video/lesson-123/ usando o ID de vídeo selecionado em seu site. São aceitos IDs de texto e UUID. O SDK fornece a página do reprodutor e o endpoint de sessão e executa novamente o callback a cada solicitação.
Manter as proteções Django normais#
Mantenha a validação CSRF fornecida e o endpoint da mesma origem. O reprodutor atual passa um token CSRF mascarado na URL do endpoint; exclua a string de consulta dos logs de acesso e mantenha o comportamento no-store/no-referrer. Use HTTPS e cookies de sessão seguros.
Atualizando uma instalação antiga com tabelas DRM-X? Preservar seu histórico de migração e ler legacy/README.md antes de remover o aplicativo antigo. O novo SDK não exclui essas tabelas.
Verificar antes de colocar em produção#
- Entre como um usuário permitido e reproduza um vídeo publicado em um navegador suportado.
- Teste usuários desconectados e usuários que não pagaram; depois, revogue o acesso ou faça-o expirar. Novas solicitações de sessão devem ser negadas.
- Altere o Content ID no navegador ou o ID de vídeo do site. O servidor deve verificar a nova seleção.
- Defina a exata origem pública HTTPS, mantenha a proteção session/CSRF do seu framework e desative o código de identidade demo.
As sessões existentes e as licenças DRM têm seus próprios prazos de validade. Novas solicitações verificam alterações de permissão; elas não apagam uma licença já emitida.
DRM-X 6.0