• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

264
Views
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.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

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.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error