Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
|
ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:microfrontend [2024/06/07 01:07] administraidor creado |
ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:microfrontend [2024/06/13 15:39] (actual) 192.168.177.2 |
||
|---|---|---|---|
| Línea 6: | Línea 6: | ||
| ===== Paso 1 ===== | ===== Paso 1 ===== | ||
| Las aplicaciones legacy consumiran la url del microfrontend y enviarán un parámetro llamado legacyToken de tipo string. | Las aplicaciones legacy consumiran la url del microfrontend y enviarán un parámetro llamado legacyToken de tipo string. | ||
| + | |||
| + | <code yaml> | ||
| + | Ejemplo consumo: | ||
| + | http://10.1.140.21:8092/?legacyToken=674157584668526572786e5371774d4552512b3741513d3d@1aba4e1f294858f0e063658c010a6fec | ||
| + | </code> | ||
| ===== Paso 2 ===== | ===== Paso 2 ===== | ||
| - | 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. | + | 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. | * **contextClient**: Código del cliente. | ||
| Línea 14: | Línea 19: | ||
| * **separador**: Caracter de separación de los fragmentos del token legacy. Por defecto se define @ | * **separador**: Caracter de separación de los fragmentos del token legacy. Por defecto se define @ | ||
| - | Ejemplo: legacyToken=bello-dev@180A072B7AC858EFE06 | + | Ejemplo: **legacyToken**=674157584668526572786e5371774d4552512b3741513d3d@1aba4e1f294858f0e063658c010a6fec |
| - | * **contextClient**: bello-dev | + | * **contextClient**: 674157584668526572786e5371774d4552512b3741513d3d |
| - | * **uuid**: 180A072B7AC858EFE06 | + | * **uuid**: 1aba4e1f294858f0e063658c010a6fec |
| * **separador**: @ | * **separador**: @ | ||
| ===== Paso 3 ===== | ===== Paso 3 ===== | ||
| - | Se debe consumir el método del api **autenticate-microfrontend-launcher** el cual puede ser consultado en la documentación de la [[ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy#Capa de lógica de negocio|Capa de lógica de negocio]] y pasar el contextClient como token en el header y el uuid como parametro. | + | 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: | ||
| + | |||
| + | {{ :ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:apilegacy-decrypt.png?600 |}} | ||
| + | |||
| + | 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 [[ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy#Capa de lógica de negocio|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á vigente se devolverán los parametros de sesión encriptados con el código 200. Lo que permitirá el acceso a la funcionalidad. | ||
| Línea 31: | Línea 44: | ||
| {{ :ada:howto:sicoferp:factory:new-migracion-sicoferp:api-legacy2.png?600 |}} | {{ :ada:howto:sicoferp:factory:new-migracion-sicoferp:api-legacy2.png?600 |}} | ||
| - | ===== Paso 4 ===== | + | ===== 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á 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. | + | 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. |
| - | {{ :ada:howto:sicoferp:factory:new-migracion-sicoferp:api-legacy3.png?600 |}} | + | {{ :ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:apilegacy-decrypt02.png?600 |}} |
| El servicio devuelve un objeto json con la siguiente estructura. | El servicio devuelve un objeto json con la siguiente estructura. | ||
| Línea 40: | Línea 53: | ||
| <code yaml> | <code yaml> | ||
| { | { | ||
| - | "idOption": 1,//Identificador del Path del microfrontend | + | "idOption": "00-00", |
| - | "tituloVentana": "Maestro Terceros",//Titulo de la opción en la aplicación legacy | + | "tituloVentana": "Maestro Terceros", |
| - | "nitEmpresa": 800167494,//Nit de la empresa del cliente | + | "nitEmpresa": "811032187.8", |
| - | "nombreEmpresa": "Uniempresa de prueba",//Nombre de la empresa del cliente | + | "nombreEmpresa": "CAPACITACION", |
| - | "codigoMempresa": 9999999999,//Código de la empresa del cliente | + | "codigoMempresa": "9999999999", |
| - | "codigoUsuario": 1,//Código del usuario en la aplicación legacy | + | "codigoUsuario": "3", |
| - | "nombreUsuario": "Pepito Perez",//Nombre del usuario en la aplicación legacy | + | "nombreUsuario": "ADMIN", |
| - | "login": "123456789",//login del usuario en la aplicación legacy | + | "codigoDependencia": "9", |
| - | "fechaSistemaModulo": "06/06/24",//Fecha del sistema en la aplicación legacy | + | "nombreDependencia": "AVIMA", |
| - | "codigoDependencia": 66//(Opcional) Código de la dependencia, solo aplica para la aplicación de presupuesto | + | "fechaSistemaModulo": "1/12/2022", |
| + | "login": "SICOF" | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| + | ===== 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; | ||
| + | |||
| + | {{ :ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:frontendroute.png?600 |}} | ||
| + | |||
| + | De esta manera se asegura la inicialización dinámica de las rutas del frontend. | ||
| ===== Consideraciones ===== | ===== Consideraciones ===== | ||
| - | * El uuid es de un solo uso, de esta manera aseguramos la integridad de las integraciones y consumos de los nuevos componentes. | + | * El uuid es de un solo uso, de esta manera aseguramos la integridad en los consumos de los nuevos componentes. |
| - | * Los parámetros desencriptado son la base para la inicialización del microfrontend. | + | * 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. | * 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. | * Todo consumo microfrontend es almacenado para efectos de auditoria. | ||
| + | * Se debe parametrizar el idOption por opción o grupo en cada cliente. | ||
| [[ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy|←Regresar]] | [[ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy|←Regresar]] | ||