Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

328
Vistas
Biblioteca Msal v2, manejar el cierre de sesión para SSO (Node.js y Vue.js)

El problema:

Usando msal v2, cuando el usuario inicia sesión en la aplicación a través de la cuenta de Microsoft, guarda los parámetros en el almacenamiento de sessionStorage y todo funciona muy bien, el problema ocurre cuando el usuario cierra la sesión en Office.com o en cualquier otro sitio que use Microsoft SSO. Dado que los datos aún se guardan en sessionStorage (intenté lo mismo con localStorage ) AcquireSilentToken(...) resuelve con los datos almacenados en caché, aunque el usuario haya cerrado la sesión.

Intenté ¿Cómo saber si un usuario dado ya inició sesión con MSAL?

Sugiere usar AcquireSilentToken(...) pero resuelve la promesa sin error ya que verifica sessionStorage .

Mi caso:

En el middleware me gustaría hacer:

 const promise = msalInstance.acquireTokenSilent(graphScopes); promise.then(resp=>{ //User is logged continue next(); }).catch(error=>{ //User is not logged in clear sessionStorage/localStorage and next('/login') });

Entonces, si alguien puede ayudarme con la forma de preguntarle a thru msal si el usuario ha cerrado la sesión. Yo realmente lo apreciaría.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este comportamiento es por diseño. Los servicios de AAD utilizan cookies para recordar quién es usted y para iniciar sesión automáticamente.

El proceso de cierre de sesión de los servicios obliga a que caduquen las cookies de sesión. Estas cookies de sesión se utilizan para mantener su estado de inicio de sesión cuando utiliza estos servicios. Sin embargo, debido a que el navegador web aún se está ejecutando y es posible que no esté actualizado para manejar las cookies correctamente, es posible que tenga una cookie que no esté actualizada para caducar y finalizar el proceso de cierre de sesión. De forma predeterminada, estas cookies son válidas durante ocho horas o caducan cuando cierra todos los navegadores web.

 const promise = msalInstance.acquireTokenSilent(graphScopes); promise.then(resp=>{ const logoutRequest = { account: instance.getAccountByHomeId(homeAccountId), postLogoutRedirectUri: "your_app_logout_redirect_uri" } instance.logoutRedirect(logoutRequest); }).catch(error=>{ //User is not logged in clear sessionStorage/localStorage and next('/login')

});

También este es un problema conocido.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda