Add loginRequired SocketIO event (#4636)

This commit is contained in:
BigBoot 2024-04-21 20:39:44 +02:00 committed by GitHub
parent 29575343ca
commit bab427f715
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 18 deletions

View file

@ -1535,6 +1535,7 @@ let needSetup = false;
await afterLogin(socket, await R.findOne("user")); await afterLogin(socket, await R.findOne("user"));
socket.emit("autoLogin"); socket.emit("autoLogin");
} else { } else {
socket.emit("loginRequired");
log.debug("auth", "need auth"); log.debug("auth", "need auth");
} }

View file

@ -129,6 +129,16 @@ export default {
this.allowLoginDialog = false; 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) => { socket.on("monitorList", (data) => {
// Add Helper function // Add Helper function
Object.entries(data).forEach(([ monitorID, monitor ]) => { Object.entries(data).forEach(([ monitorID, monitor ]) => {
@ -256,24 +266,6 @@ export default {
this.clearData(); 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; this.socket.firstConnect = false;
}); });