¡Esta es una revisión vieja del documento!
El API Legacy se debe utilizar para implementar una arquitectura de microfrontend, donde cada aplicación frontend se integra con el API para autorizar el acceso a las funcionalidades que se migran. Esta estrategia facilita el desarrollo y mantenimiento de las aplicaciones frontend, ya que cada una puede ser desarrollada y actualizada de forma independiente.
El flujo para autorizar los accesos desde aplicaciones legacy es:
Las aplicaciones legacy consumiran la url del microfrontend y enviarán un parámetro llamado legacyToken de tipo string.
El parámetro legacyToken es un string con el siguiente formato contextClient@uuid el cual al ser separados por el simbolo @ se obtendran 2 fragmentos.
Ejemplo: legacyToken=bello-dev@180A072B7AC858EFE06
Se debe consumir el método del api autenticate-microfrontend-launcher el cual puede ser consultado en la documentación de la Capa de lógica de negocio y pasar el contextClient como token en el header y el uuid como parametro.
Si el uuid está vigente se devolverán los parametros de sesión encriptados con el código 200. Lo que permitirá el acceso a la funcionalidad.
Si el uuid está vencido o es inválido se devolverá una excepcion con el código 500. Lo que evitará el acceso al microfrontend.
Al realizar la autenticación de forma correcta se obtendra un hash que contendrá los parametros de sesión pero estarán encriptados por lo tanto se debe consumir el servicio decrypt-legacy-secure-token el cual recibirá 2 argumentos uno en el header llamado token el cual recibirá el contextClient y un parámetro secureToken donde se le enviará el hash obtenido del proceso de autenticación como se ve en la imagen.
El servicio devuelve un objeto json con la siguiente estructura.
{ "idOption": 1,//Identificador del Path del microfrontend "tituloVentana": "Maestro Terceros",//Titulo de la opción en la aplicación legacy "nitEmpresa": 800167494,//Nit de la empresa del cliente "nombreEmpresa": "Uniempresa de prueba",//Nombre de la empresa del cliente "codigoMempresa": 9999999999,//Código de la empresa del cliente "codigoUsuario": 1,//Código del usuario en la aplicación legacy "nombreUsuario": "Pepito Perez",//Nombre del usuario en la aplicación legacy "login": "123456789",//login del usuario en la aplicación legacy "fechaSistemaModulo": "06/06/24",//Fecha del sistema en la aplicación legacy "codigoDependencia": 66//(Opcional) Código de la dependencia, solo aplica para la aplicación de presupuesto }