En esta sección encontra dudas más frecuentes a la hora de integrarse con MFE
INDICE DE CONTENIDO
MFE - Identificación
...
Expand |
---|
title | FAQ_MFE_IDENTIFICACIÓN_004: Problemas con Angular |
---|
|
Se han detectado problemas cuando la integración se realiza desde una aplicación en Angular, como la realización de varias llamadas simultaneas a MFE. Configuración de proxy para redirección de peticiones POST de MFE Tras realizar el login, MFE realiza una petición POST a la URL de retorno que se le ha proporcionado. Puesto que al servir aplicaciones angular en el entorno local 1 (En los entornos productivos, esta redirección viene configurada en el servidor - apache2, nginx…) sólo se admiten peticiones GET es necesario configurar un proxy para redirigir estas peticiones. Para ello es necesario: Crear un fichero con nombre proxy.conf.js en la raíz del proyecto adaptando el siguiente contenido: Code Block |
---|
title | proxy.conf.js |
---|
collapse | true |
---|
| var PROXY_CONFIG = {
"/acceso": { // URL de retorno para el login
"target": "http://localhost:4200",
"method": "GET",
"secure": false,
"changeOrigin": false,
"bypass": function (req, res, proxyOptions) {
if (req.method !== "POST") {
return "/index.html";
} else {
console.log("PROXY: Peticion de tipo: " + req.method + ", url: " + req.url + ". Cambio a petición GET.");
}
}
},
"/acceso/cerrar-sesion": { // URL de retorno para el logout
"target": "http://localhost:4200",
"method": "GET",
"secure": false,
"changeOrigin": false,
"bypass": function (req, res, proxyOptions) {
if (req.method !== "POST") {
return "/index.html";
} else {
console.log("PROXY: Peticion de tipo: " + req.method + ", url: " + req.url + ". Cambio a petición GET.");
}
}
}
};
module.exports = PROXY_CONFIG; |
- Incluirlo como configuración de del proyecto en en angular.json a la hora de desplegarlo en local:
Code Block |
---|
title | angular.json |
---|
collapse | true |
---|
| {
...
"projects": {
...
"architect": {
...
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"proxyConfig": "proxy.conf.js",
...
},
... |
Adaptación del onIdentification para ejecución en angular Tras haber realizado un login correcto en MFE y haber vuelto de la redirección, MFE espera que la aplicación tenga un método JS onIdentification definido. Para realizar una mejor gestión de este método es posible trasladar esta llamada al contexto de un componente angular siguiendo la siguiente estructura:
Code Block |
---|
title | onIdentification |
---|
collapse | true |
---|
| export class MfeComponent {
constructor(private zone: NgZone) {
(window as any).onIdentification = this.onIdentification.bind(this);
}
/*
* Método que se ejecuta una vez realizada la identificación correctamente en MFE.
* Recibe el parámetro operation que incluye del usuario como nifCif, nombre, apellidos,
* tipo de certificado (de persona físcica o jurídica)
*/
public onIdentification(operation: any): void {
this.zone.run( () => {
// Gestionar aquí la identificación dentro del contexto de angular
});
}
} |
|
...