Tengo el siguiente caso en una aplicación web mía. El navegador habitual que usa el usuario es Chrome.
Utilizo certificados digitales que los usuarios tienen en tarjetas criptográficas que insertan en un lector de tarjetas.
Para logearse en la aplicación, básicamente los usuarios hacen acceden al un link https que hace que se lean los datos del certificado.
Hasta aquí todo funciona bien.
Si el usuario para terminar su sesión de la aplicación cierra el navegador no hay problema. Todo ha terminado.
Pero si el usuario quieres salir de su sesión de aplicación sin cerrar el todas las ventanas del navegador, aquí vienen mis problemas.
Hay un botón que cierra la sesión de la aplicación, el usuario sale y redirige a la pantalla inicial de login. Parece que se reseteado todo, pues el usuario ha salido. Pero cuando un nuevo usuario quiere logearse y pulsa el link para leer los datos del certificado, en vez de hacer una nueva lectura de la nueva tarjeta, utiliza los datos de la tarjeta anterior los cuales parece mantener cacheados y se loguea como si fuera la tarjeta anterior sin tan siquiera pedir el pin para acceder a ella.
El problema va más allá, por ejemplo, si el usuario se le olvida meter la tarjeta e intenta logearse, fallara por no poder leer el certificado. Pero ahora aunque inserte correctamente la tarjeta no podrá volver a leerla hasta que no reinicie el navegador pues mantiene cacheado que no hay certificado.
De momento solo he encontrado la solución cerrando todas las ventanas de Chrome, pero eso depende de que el usuario quiera hacerlo o no.
Una solución parcial seria asegurarse de cerrar el navegador con javascript() pero desde hace algún tiempo, no se puede cerrar con javascript (window.close()), una ventana que no se haya abierto desde el propio javascript, con lo que está solución creo que está descartada.
¿Alguien me puede aportar ayuda? Gracias