mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: tests, handle no sessions
This commit is contained in:
@@ -350,10 +350,12 @@ authenticationController.onSuccessfulLogin = async function (req, uid) {
|
||||
});
|
||||
await Promise.all([
|
||||
user.auth.addSession(uid, req.sessionID),
|
||||
(uid > 0) ? db.setObjectField('uid:' + uid + ':sessionUUID:sessionId', uuid, req.sessionID) : null,
|
||||
user.updateLastOnlineTime(uid),
|
||||
user.updateOnlineUsers(uid),
|
||||
]);
|
||||
if (uid > 0) {
|
||||
await db.setObjectField('uid:' + uid + ':sessionUUID:sessionId', uuid, req.sessionID);
|
||||
}
|
||||
|
||||
// Force session check for all connected socket.io clients with the same session id
|
||||
sockets.in('sess_' + req.sessionID).emit('checkSession', uid);
|
||||
|
||||
@@ -82,6 +82,9 @@ module.exports = function (User) {
|
||||
|
||||
async function cleanExpiredSessions(uid) {
|
||||
const uuidMapping = await db.getObject('uid:' + uid + ':sessionUUID:sessionId');
|
||||
if (!uuidMapping) {
|
||||
return;
|
||||
}
|
||||
const expiredUUIDs = [];
|
||||
const expiredSids = [];
|
||||
await Promise.all(Object.keys(uuidMapping).map(async (uuid) => {
|
||||
|
||||
Reference in New Issue
Block a user