diff --git a/server/server.js b/server/server.js index 753f88b87..d5e3f215f 100644 --- a/server/server.js +++ b/server/server.js @@ -1535,6 +1535,7 @@ let needSetup = false; await afterLogin(socket, await R.findOne("user")); socket.emit("autoLogin"); } else { + socket.emit("loginRequired"); log.debug("auth", "need auth"); } diff --git a/src/mixins/socket.js b/src/mixins/socket.js index c3845d34b..a7a66fcab 100644 --- a/src/mixins/socket.js +++ b/src/mixins/socket.js @@ -129,6 +129,16 @@ export default { this.allowLoginDialog = false; }); + socket.on("loginRequired", () => { + let token = this.storage().token; + if (token && token !== "autoLogin") { + this.loginByToken(token); + } else { + this.$root.storage().removeItem("token"); + this.allowLoginDialog = true; + } + }); + socket.on("monitorList", (data) => { // Add Helper function Object.entries(data).forEach(([ monitorID, monitor ]) => { @@ -256,24 +266,6 @@ export default { this.clearData(); } - let token = this.storage().token; - - if (token) { - if (token !== "autoLogin") { - this.loginByToken(token); - } else { - // Timeout if it is not actually auto login - setTimeout(() => { - if (! this.loggedIn) { - this.allowLoginDialog = true; - this.$root.storage().removeItem("token"); - } - }, 5000); - } - } else { - this.allowLoginDialog = true; - } - this.socket.firstConnect = false; });