Anonimización de Urls

Última modificación por Aurelie Bertrand el 2023/11/22 17:42

Este documento describe cómo autenticarse automáticamente sin utilizar el parámetro pass en los distintos módulos de DigDash Enterprise (cuadros de mando, páginas de configuración).

El principio consiste en solicitar, una vez autenticado, un token que, cuando se utiliza, crea una nueva sesión basada en la solicitada por la sesión actual.

Este token permite crear una sesión automática sin tener que especificar el nombre y la contraseña del usuario.

Este token es de un solo uso; no se puede utilizar el mismo token para crear más de una sesión. Para crear varias sesiones, se necesitan varios tokens.

El procedimiento es el siguiente:

  • Autenticación tradicional mediante la página de inicio de sesión o nombre de usuario y contraseña.
  • Solicitud de token a la API REST (newAuthToken).
  • Utiliza el token en una url para crear una sesión automática sin información de autenticación.

Ejemplo:

  1. Recuperación del token a través de un servicio web cuya url es la siguiente:

    http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken

    Uso del parámetro method=newAuthToken para recuperar el nuevo token generado cuando se devuelve esta url.

  2. Uso del token en un cuadro de mandos :

    ex : http://localhost:8080/digdash_dashboard/index.html?user=admin&authToken=token
    El valor del parámetro authToken es el token devuelto en el paso 1.

Avanzado: Suplantación

El método newAuthToken de la API devuelve un token para la sesión actual y el usuario actual. Por lo tanto, es necesario tener una sesión para este usuario para poder llamar a este método y utilizar su resultado en una URL.

En algunos casos esto es una limitación y es útil poder abrir una sesión para otro usuario (destino), desde un usuario origen. Existe un método newAuthTokenAs que toma un parámetro userId adicional.

Restricciones para el uso de este método:

  • El sistema debe tener la propiedad PROP_NEWAUTHTOKENAS = true en system.xml
  • El usuario de origen debe tener Admin > Permitir autorización de préstamo de identidad.

Una vez validadas estas restricciones, el procedimiento es el siguiente:

  • Autenticación clásica del usuario de origen a través de la página de inicio de sesión o introduciendo el nombre de usuario y la contraseña.
  • Solicitud de token para el usuario de destino desde la API REST (newAuthTokenAs).
  • Uso del token en una url para crear una sesión automática sin la información de autenticación del usuario de destino.

Ejemplo :

  1. Recuperación del token a través de un servicio web cuya url es la siguiente:

    ex : http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=userCible
    Utilisation du paramètre method=newAuthTokenAs permettant au retour de cette url de récupérer le nouveau jeton ainsi généré.

  2. Uso del token en un cuadro de mandos :

    ex : http://localhost:8080/digdash_dashboard/index.html?user=userCible&authToken=token

    El valor del parámetro authToken es el token devuelto en el paso 1.