Quiero empezar hablando de Swivel, Swivel es un proveedor de soluciones de autenticación quienes han sido galardonados años atrás con el Premio SC Magazine Europe Award a la mejor solución de autenticación multifactor.

Dentro de sus productos de factores de autenticación se encuentran: OneTouch PUSH, SMS, Token, PINpad, TURing y PINsafe. En esta publicación usaremos TURing aunque realmente cambiando unos parámetros podríamos usar PINsafe enviando un SMS por ejemplo.

Cómo funciona TURing ?

Primero, a cada usuario que usará esta opción se le asignará previamente un pin, el cual es un código de 4 dígitos, el cual el usuario deberá recordar – tal y como la clave de nuestra tarjeta débito  -. Esta labor la realiza el administrador de servidor Swivel.

La aplicación web para poder hacer la doble autenticación (A2F) del usuario requiere de un OTC –  One Time Code, el cual solicitará que el usuario digite. Si no sabes que es te invito a leer mi anterior publicación “Autenticación de 2 factores con Scriptcase”.

Para poder determinar cual es el OTC que el usuario debe ingresar, en el momento de la autenticación y luego de hacer la conexión al servidor Swivel, un código de 10 dígitos son enviados al navegador del usuario en forma de una  imagen rectangular, luego, el usuario toma los números representados por su PIN en dicha imagen – el pin que previamente el administrador de Swivel le asignó -. Es decir, que si el PIN es 5273, entonces simplemente debe escribir el número que en la imagen está en la 5a posición, luego el número que está en la 2a posición, luego el número de la 7a posición y finalmente el número de la 3a posición, todo esto basado en la imagen que el servidor ha enviado.

 Ejemplo TURing. Con base en el ejemplo descrito anteriormente, el OTC sería 3507

Cabe anotar que obviamente las imágenes generadas por el servidor son dinámicas,  distintas cada vez que se solicita un OTC.

Otro punto a tener en cuenta, y lo mencionaba en la publicación anterior, es que cada proveedor indica cómo debe integrarse y en muchos casos coloca a disposición del desarrollador recursos en diferentes lenguajes de programación. Pues en el caso de Swivel, tenía ejemplos en PHP, los cuales bajé y empecé a entender cómo funcionaba para luego hacer la adaptación en Scriptcase. Les recomiendo que siempre prueben por aparte los demos o ejemplos de los proveedores asegurándose de que funcionan bien antes de ir a Scriptcase a implementarlo, esto les puede evitar grandes dolores de cabeza. 😉

En resumen, lo que primero que hice fué entender el funcionamiento del ejemplo y lo adapté a mis necesidades creando una librería php, la cual usaría en Scriptcase por medio de 2 aplicaciones de tipo blank, decidí que fueran 2 aplicaciones diferentes por la manera en que trabaja el TURing. Una aplicación llamada Token, la cual es llamada luego de la validación del Login y Password normal ( primer factor) y que gestiona la configuración de conexión al servidor, como también su interfaz gráfica de solicitud del segundo factor y por último, la validación del código ingresado por el usuario. La segunda aplicación podría ser considerada como un procedimiento el cual se encarga explícitamente de mostrar la imagen generada por el servidor por medio de una url en la plantilla de la aplicación 1.

Tal vez la anterior explicación puede ser algo confusa, por tal razón hice el siguiente video en donde explico con más detalle, la manera en la cual se hizo la implementación.

Es evidente que existen diferentes maneras de implementarlo, pero el objetivo de esta publicación es mostrarles cual es una de ellas y que pueda servir de ejemplo en sus proyectos.

En mi siguiente publicación les hablaré de cómo Implementar A2F usando un Desarrollo Propio en NodeJS

You might also like…

Integrando Google Recaptcha v2 al login

ReCAPTCHA es una herramienta que se utiliza a través de la API proporcionada por Google para e...

Conexión con Banco de Datos

¿Quién desarrolla hace algún tiempo sabe cuánto la conexión con la base de datos puede convert...

Aplicaciones Web (WebApp) vs Websites – Entienda la diferencia

– Así que eres programador. ¿Qué haces? – Desarrollo aplicaciones y sistemas web. – ...

You might also like…

Get new posts, resources, offers and more each week.

We will use the information you provide to update you about our Newsletter and Special Offers. You can unsubscribe any time you want by clinck in a link in the footer of any email you receive from us, or by contacting us at sales@scriptcase.net. Learn more about our Privacy Police.