Sie sind auf Seite 1von 6

Autenticación tipo “Single Sign-on” mediante Token

Talana – Documentación de Autenticación mediante Token para usuarios finales

Control de Versiones

Fecha Autor Observaciones

11/05/2018 José Antonio Akel Versión Inicial

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 2 de 6


Talana – Documentación de Autenticación mediante Token para usuarios finales

Antecedentes
Muchas instituciones desean integrar el portal del empleado de Talana con sus sistemas de gestión interna pero, a su vez,

desean mantener una buena experiencia de usuario, manteniendo un acceso único y evitando que el usuario final deba

autenticarse manualmente múltiples veces.

El presente documento entrega una primera forma, sencilla y fácil de implementar, que permite redirigir usuarios al portal del

trabajador de Talana previamente autenticado, cuando proviene desde un ambiente de confianza donde ya se ha validado

su identidad.

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 3 de 6


Talana – Documentación de Autenticación mediante Token para usuarios finales

Autenticación para consumir servicios REST en Talana


Los WebServices son servicios REST con los cuales se pueden gestionar las solicitudes de días libres para los empleados,
ya sea para consultar, crear, modificar o eliminar datos. Esta información necesita estar estructurada en formato JSON y los
métodos que permite son:
• Listar (GET)
• Crear (POST)
• Modificar (PUT / PATCH)
• Eliminar (DELETE)
Para utilizar cualquiera de los métodos previamente listados es necesario enviar un “token” de autenticación en cada
“request” que se realice hacia la plataforma. Para obtener este “token” de autenticación debemos realizar una petición como
en el siguiente ejemplo:
URL: https://talana.com/es/api/api-token-auth/
MÉTODO: POST
BODY: {“username”: “demo@talana.com”, “password”: “demo”}
Donde:
“demo@talana.com” es el nombre de usuario de la persona a autenticar.
“demo” es la clave de la persona a autenticar.
El formato del contenido del BODY, es JSON.
La respuesta de la anterior consulta es un “String” en formato JSON que contiene el “token”:
{“token”: “ehe657583hgyydt565729g0ddjdg65585hgyyd65”}
Finalmente para su uso, es necesario agregar el “token” en el encabezado de cada consulta:
Authorization: Token ehe657583hgyydt565729g0ddjdg65585hgyyd65

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 4 de 6


Talana – Documentación de Autenticación mediante Token para usuarios finales

Redirección autenticada a Talana


El supuesto para este mecanismo de autenticación es que el usuario está navegando en un ambiente seguro, donde ya se

ha identificado previamente, como la intranet de la institución. Este ambiente debe tener acceso a los web services de

Talana, y contar con un token de integración propio con permisos de manejo de usuarios.

La redirección autenticada al portal del trabajador de Talana se basa en el envío de un formulario html común que contiene

en sus parámetros un token previamente obtenido por la plataforma. La figura 1 ilustra el esquema propuesto.

Figura 1: Esquema de integración

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 5 de 6


Talana – Documentación de Autenticación mediante Token para usuarios finales

Obtención de Token de Usuario


El primer paso es que la intranet obtenga el token del usuario. Para ello debe consumir un servicio de Talana,

autenticándose con su token de integración.

El servicio se debe consumir mediante HTTP GET:

https://talana.cl/es/api/get-auth-token/<id_usuario>
donde <id_usuario> es el ID en Talana del usuario para el cual quieres obtener el token. Este servicio responderá con un
documento Json que incluye el token en la propiedad "key"

Creación de formulario y redirección a Talana


La idea es presentarle al usuario un botón que pueda clickar cuando lo desee o, bajo un esquema más seguro, una página

sólo de redirección, que le entregue el formulario y gatille un “submit” por javascript.

El formulario puede ser algo sencillo como el código que se entrega a continuación:

<form method="POST" action="https://talana.com/es/remuneraciones/authenticateWithToken">

<input type="hidden" name="token" value="<token_obtenido>">

<input type="submit" value="enviar" name="enviar">

</form>

donde “<token_obtenido>” es el Token que se consiguió en el paso anterior.

El formulario anterior puede ser gatillado clickando el botón “enviar”.

Alternativamente, es posible presentar al usuario un formulario “invisible” que redirija automáticamente apenas se muestre al
usuario. Este esquema es un poco más seguro y eficiente, pues no es necesario entregar al usuario el token en cada
pantalla HTML de la intranet. Para este caso se puede incrustar un formulario como el que se entrega a continuación, y que
contiene una acción javascript que gatilla el formulario:

<html><body>

<form method="POST" name="ir_a_talana"


action="https://talana.com/es/remuneraciones/authenticateWithToken">

<input type="hidden" name="token" value="(/&%(/&%(/&%">

</form>

<script type="text/javascript">document.ir_a_talana.submit();</script>

</body></html>

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 6 de 6

Das könnte Ihnen auch gefallen