Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:microfrontend

API Legacy: Integración Microfrontend

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:

Paso 1

Las aplicaciones legacy consumiran la url del microfrontend y enviarán un parámetro llamado legacyToken de tipo string.

Ejemplo consumo: 
http://10.1.140.21:8092/?legacyToken=674157584668526572786e5371774d4552512b3741513d3d@1aba4e1f294858f0e063658c010a6fec

Paso 2

El front recibe el parámetro tipo string legacyToken con el siguiente formato contextClient@uuid el cual al ser separado por el simbolo @ se obtendran 2 fragmentos.

  • contextClient: Código del cliente.
  • uuid: token de autenticación.
  • separador: Caracter de separación de los fragmentos del token legacy. Por defecto se define @

Ejemplo: legacyToken=674157584668526572786e5371774d4552512b3741513d3d@1aba4e1f294858f0e063658c010a6fec

  • contextClient: 674157584668526572786e5371774d4552512b3741513d3d
  • uuid: 1aba4e1f294858f0e063658c010a6fec
  • separador: @

Paso 3

Se debe tomar el contextClient y desencriptarlo para identificar el cliente por medio del método decrypt-legacy-secure-token del api-legacy enviando en el parametro secureToken el contextClient recibido en el request de consumo de la aplicación legacy que hace la petición. Ejemplo:

Como se puede observar en la imagen de ejemplo el contextClient devuelve viva-dev.

Paso 4

Al desencriptar el conteextclient 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.

Paso 5

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á en el parámetro secureToken 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": "00-00",
    "tituloVentana": "Maestro Terceros",
    "nitEmpresa": "811032187.8",
    "nombreEmpresa": "CAPACITACION",
    "codigoMempresa": "9999999999",
    "codigoUsuario": "3",
    "nombreUsuario": "ADMIN",
    "codigoDependencia": "9",
    "nombreDependencia": "AVIMA",
    "fechaSistemaModulo": "1/12/2022",
    "login": "SICOF"
}

Paso 6

Se debe tomar de los parámetros desencriptado el idOption y consumir el servicio ecosystem-config-ws/frontend-route/api/v1/get para obtener el path del microfrontend como se ve a continuación;

De esta manera se asegura la inicialización dinámica de las rutas del frontend.

Consideraciones

  • El uuid es de un solo uso, de esta manera aseguramos la integridad en los consumos de los nuevos componentes.
  • Los parámetros desencriptados son la base para la inicialización del microfrontend.
  • Salvo los parámetros opcionales los demás son requeridos por lo tanto se aconseja aplicar validaciones de esas propiedades al desencriptarlas.
  • Todo consumo microfrontend es almacenado para efectos de auditoria.
  • Se debe parametrizar el idOption por opción o grupo en cada cliente.

←Regresar

ada/howto/sicoferp/factory/new-migracion-sicoferp/apilegacy/microfrontend.txt · Última modificación: 2024/06/13 15:39 por 192.168.177.2