Я использую токен JWT с msal для аутентификации пользователя. Как только пользователь вошел в систему, мы сохраняем токен JWT в localStorage и при выходе из системы очищаем localStorage вместе с выходом из msal.
Но я хотел принудительно выйти из системы, когда пользователь в браузере закрыт. Для этого мне нужно очистить localStorage после закрытия браузера.
Я пытался использовать для этого метод onbeforeunload & onunload, но эти методы также вызываются при обновлении страницы.
- попытался использовать sessionStorage, но это привело к тому, что пользователь заходил на каждую вкладку из-за определенной области действия вкладки.
Я попробовал следующий код
componentDidMount() {
window.addEventListener("beforeunload",this.forceLogout,false)
}
componentWillUnmount() {
window.removeEventListener("beforeunload",this.forceLogout,false)
}
forceLogout(){
localStorage.clear();
}
Примечание: после перенаправления входа в msal обратно в приложение мы обновляем страницу из-за использования HashRouter