8.- FAQ'S para integradores

En esta sección encontra dudas más frecuentes a la hora de integrarse con MFE

INDICE DE CONTENIDO




MFE - Identificación



 FAQ_MFE_IDENTIFICACIÓN_001: Navegadores soportados.

Este es listado de navegadores compatibles con MFE – Identificación:

- Internet Explorer 8.0 o superior

- Chrome 4.0 o superior.

- Firefox 3.5 o superior.

- Safari 4.0 o superior.

- Opera 11.5 o superior.

 FAQ_MFE_IDENTIFICACIÓN_002: Problemas durante el desarrollo con ie
Se han detectado problemas con Internet Explorer cuando se intenta identificar en un portal donde se accede al propio portal mediante “localhost” (por ejemplo “http://localhost:7778/snt_pf_v3” para desarrolladores del portal snt_pf_v3).
Para ello se debe o bien indicar la ip del propio equipo en vez de “localhost” o bien desmarcar la opción “Incluir todos los sitios locales (intranet) no listados en otras zonas” del navegador en Opciones de internet: → Seguridad → Intranet local → Sitios.



 FAQ_MFE_IDENTIFICACIÓN_003: Problemas con navegadores y certificados ¿qué puedo hacer?

MFE incrusta en el iframe un enlace a su  AYUDA ON LINE por cada método de identificación. Dentro podrás ver cómo el manual de usuario, una página de comprobación del equipo, FAQ'S para usuarios y determinados temas de ayuda como una guía para registrarte en clave.


    

 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 (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:

  1. Crear un fichero con nombre proxy.conf.js en la raíz del proyecto adaptando el siguiente contenido:

    proxy.conf.js
    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;
  2. Incluirlo como configuración de del proyecto en en angular.json a la hora de desplegarlo en local:
angular.json
{
  ...
  "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:

onIdentification
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
	});
  }
}




 FAQ_MFE_IDENTIFICACIÓN_005: Problemas conexión a Clave Permanente en Servicios Estables

La conexión desde la pasarela de Clave a Clave Permanente, depende de la configuración de red propia del cliente en la que se ejecuta la llamada, por lo que si aparece el siguiente error, es necesario revisar las comunicaciones del equipo desde donde se esta realizando la invocación.



MFE - Firma



 FAQ_MFE_FIRMA_001: Por qué en la firma en bloque con autofirma tengo que seleccionar varias veces el certificado

En la firma en bloque la selección de certificados por parte del usuario variará dependiendo del navegador. En aquellos navegadores que puedan ejecutar applets el usuario solamente seleccionará una única vez su certificado. Para aquellos navegadores donde no se puedan ejecutar applets y la firma se realice mediante 'Autofirma', el usuario tendrá que seleccionar el certificado deseado para cada documento a firmar.


 FAQ_MFE_FIRMA_002: Problemas con navegadores y certificados ¿qué puedo hacer?

MFE incrusta en el iframe un enlace a su  AYUDA ON LINE por cada método de firma. Dentro podrás ver cómo el manual de usuario, una página de comprobación del equipo, FAQ'S para usuarios y determinados temas de ayuda como una guía para registrarte en clave.