Sunteți pe pagina 1din 8

Guía de Integración IDaaS en aplicaciones web

El servicio de autenticación está basado en OpenID Connect, básicamente cumple el siguiente


flujo de autenticación:

Donde:

1. User: Representa al usuario que se va a autenticar.


2. RP: Relying Party, Es una aplicación web alojada en un servidor (Perteneciente a la
entidad) el cual proporcionará acceso de forma segura.
3. OP: OpenID Connect Provider, básicamente es el servicio de autenticación bajo la
especificación OpenID Connect.

Para poder hacer uso del DNIe como mecanismo de autenticación, se requiere como mínimo
Java 8 instalado en la Pc del usuario.

Los RP pueden estar programados con otras versiones de Java (7, 8) o con otro lenguaje de
programación web.

La presenta guía hace solo referencia la integración con el lenguaje de programación Java, ya
que se cuenta con una librería para la comunicación con el OP. No obstante, para otros lenguajes
se puede tomar esta como referencia.
Antes de continuar, es necesario registrar su RP en el servicio del OP. Para ello se requiere la
siguiente información.

Nombre: Redirect URIs Entorno

Idaas-client- http://localhost:8080/idaas-client-demo/authentication Desarrollo


demo https://dominio.gob.pe/idaas-client-demo/authentication Producción

Con esta información se procederá a generar el client_id y el client_secret


(https://idp.reniec.gob.pe/service/help/) el mismo que será compartido posteriormente.

Nota: Redirect URIs es la ruta al cual el OP enviará la información solicitada por el RP (Mediante
parámetros por URL).

Pasos para levantar el proyecto demo:

Descargar el siguiente archivo, el cual contiene fuentes Java con Maven de ejemplo:

• idaas-client: Librería cliente escrita en Java, es una abstracción del flujo de


autenticación.
• idaas-client-demo: Aplicación web (RP) que hace uso de la librería idaas-client.

Ambos proyectos pueden ser compilados con Java 7 u 8, el proyecto idaas-client-demo puede
ser ejecutado en un Tomcat 8 o superior, o en un WildFly 10 o superior. Al ser proyectos en
Maven se puede utilizar cualquier IDE que lo soporte (Eclipse, NetBeans, intellij IDEA, etc)

1. Abrir y compilar el proyecto idaas-client.


2. Abrir y compilar el proyecto web idaas-client-demo (Depende de idaas-client).
3. Ejecutar localmente el proyecto web idaas-client-demo, este proyecto ya está
registrado en el OP, al ejecutarlo podrá realizar una autenticación con su DNIe.
4. Seguir la siguiente secuencia:
Integración paso a paso del proyecto idaas-client-demo con el OP:

Aquí se detallará a grandes rasgos como es que se realizó la integración del proyecto idaas-
client-demo, con la finalidad de que usted pueda integrar su proyecto al OP. Cabe mencionar
que las funciones de comunicación con el OP están programadas en idass-client, por lo que solo
será necesario enviar parámetros a este. En caso de utilizar otro lenguaje de programación, se
recomienda entrar en detalles a las fuentes de idaas-client. Se utilizó el IDE Eclipse.

Se tiene registrado el ClientId y el ClientSecret en default.properties.

Recordando el flujo de autenticación:


Se inicia con el Autorization Endpoint, que está programado en LoginBean.java, se crean los
parámetros para luego enviarlos a la librería idaas-client la cual retorna una URL para la
autenticación.

Luego se tiene el Token Endpoint, se inicia cuando el OP responde después de autenticar al


usuario. Aquí se genera una comunicación Back Channel entre el RP y el OP. Está programado
en Authentication.java.
Con la información del Token Endpoin sigue el UserInfo Endpoint. Aquí se genera una
comunicación Back Channel entre el RP y el OP. Está programado en Authentication.java.

Finalmente, de manera adicional se tiene la generación del logout o EndSession Endpoint. Está
programado en Authentication.java.

Como se puede ver, se delega a la librería idaas-client el trabajo de comunicación con el OP, así
de esta manera se consigue una integración rápida a aplicaciones Java Web. Nótese que en el
flujo se pueden ver validaciones que aquí no se mencionan, pero que son importantes y se
recomienda implementarlas en su integración.

S-ar putea să vă placă și