client online state
This commit is contained in:
@@ -57,6 +57,10 @@ class AuthenticationManager {
|
||||
return { token: null, levelId: 2, message: 'Falsches Passwort' };
|
||||
}
|
||||
|
||||
if(!user.active) {
|
||||
return { token: null, levelId: 2, message: 'Benutzer nicht aktiv' };
|
||||
}
|
||||
|
||||
const token = jwt.sign(
|
||||
{
|
||||
ObjectGUID: user.ObjectGUID,
|
||||
@@ -67,12 +71,26 @@ class AuthenticationManager {
|
||||
);
|
||||
|
||||
user.refreshtoken = token;
|
||||
user.online = true;
|
||||
await this.setOnline(sAMAccountName);
|
||||
await user.save();
|
||||
|
||||
return { token, levelId: 0, message: 'Erfolgreich angemeldet' };
|
||||
}
|
||||
|
||||
|
||||
async setOnline(sAMAccountName) {
|
||||
const user = await this.findUser(sAMAccountName);
|
||||
user.online = true;
|
||||
await user.save();
|
||||
}
|
||||
|
||||
async setOffline(sAMAccountName) {
|
||||
const user = await this.findUser(sAMAccountName);
|
||||
user.online = false;
|
||||
await user.save();
|
||||
}
|
||||
|
||||
|
||||
// =========================================================
|
||||
// LOGOUT
|
||||
// =========================================================
|
||||
@@ -85,8 +103,8 @@ class AuthenticationManager {
|
||||
}
|
||||
|
||||
user.refreshtoken = null;
|
||||
user.online = false;
|
||||
await user.save();
|
||||
await this.setOffline();
|
||||
|
||||
return { token: null, levelId: 0, message: 'Erfolgreich abgemeldet' };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user