Django y la autenticación digital (Prueba de concepto)

Aunque todavía no disponemos de un cliente oficial para plataformas basadas en python, gracias a que Viafirma usa desde su primera versión OpenId como protocolo de comunicación, podemos disponer de una integración básica con Viafirma en menos de 5 minutos (incluso en plataformas no soportadas oficialmente!)

Para ello nos dispondremos a crear un proyecto Django, a añadirle el paquete OpenId y a probar qué tal funciona la autenticación con el Dnie (o cualquier otro certificado digital) en Django!. Los pasos son:

Crear un proyecto Django,

django-admin.py startproject djangodnie

Añadir el soporte para OpenId instalando el paquete django_openid_auth en el sistema (o añadiendolo a nuestro proyecto). Optaremos por descargarlo y añadirlo a nuestro proyecto usando:


bzr branch lp:django-openid-auth

(si no dispones de Bazaar toca instalarlo o descargar por cualquier otra vía el paquete)

Activar el paquete en el proyecto, editando el fichero settings.py añadiendo django_openid_auth a INSTALLED_APPS y configurando el nuevo paquete. La configuración quedará similar a:

INSTALLED_APPS = ( 
'django.contrib.auth',
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.admin',
'django_openid_auth',
)

AUTHENTICATION_BACKENDS = (
'django_openid_auth.auth.OpenIDBackend',
'django.contrib.auth.backends.ModelBackend',
)

OPENID_CREATE_USERS = True
OPENID_UPDATE_DETAILS_FROM_SREG = True
OPENID_USE_AS_ADMIN_LOGIN = False
LOGIN_URL = '/openid/login/'
LOGIN_REDIRECT_URL = '/admin'
OPENID_SSO_SERVER_URL='http://viafirma.viavansi.com/viafirma/pip/django'

Hay que resaltar el parámetro OPENID_SSO_SERVER_URL=’http://viafirma.viavansi.com/viafirma/pip/’ que indica a Django dónde se encuentra el Personal Identity Provider (pip) ofrecido por Viafirma.
Una vez realizados estos cambios, y tras actualizar el modelo con syncdb tendremos en un tiempo récord el sistema preparado para autenticar digitalmente con Viafirma.

Ya podremos acceder a la administración de Django autenticándonos con Viafirma usando la url /openid/login.
Una vez demostrada la viabilidad de la integración, en breve esperamos ofrecer un cliente completo de Viafirma en esta maravillosa plataforma.

Recuerda que este ejemplo de configuración es para un entorno de pruebas, si estás interesado  en utilizar nuestro servicio de autenticación «on-demand» o instalar la plataforma en tus instalaciones contacta con nosotros en https://www.viafirma.com/es/