mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
store user sessionId mapping per user
This commit is contained in:
@@ -15,7 +15,7 @@ sessionController.revoke = function(req, res, next) {
|
||||
var _id;
|
||||
|
||||
async.waterfall([
|
||||
async.apply(db.getObjectField, 'sessionUUID:sessionId', req.params.uuid),
|
||||
async.apply(db.getObjectField, 'uid:' + req.uid + ':sessionUUID:sessionId', req.params.uuid),
|
||||
function(sessionId, next) {
|
||||
if (!sessionId) {
|
||||
return next(new Error('[[error:no-session-found]]'));
|
||||
|
||||
@@ -197,7 +197,7 @@ function continueLogin(req, res, next) {
|
||||
|
||||
// Associate login session with user
|
||||
user.auth.addSession(userData.uid, req.sessionID);
|
||||
db.setObjectField('sessionUUID:sessionId', uuid, req.sessionID);
|
||||
db.setObjectField('uid:' + userData.uid + 'sessionUUID:sessionId', uuid, req.sessionID);
|
||||
|
||||
plugins.fireHook('action:user.loggedIn', userData.uid);
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ module.exports = function(User) {
|
||||
|
||||
db.sessionStore.get(sessionId, function(err, sessionObj) {
|
||||
async.parallel([
|
||||
async.apply(db.deleteObjectField, 'sessionUUID:sessionId', sessionObj.meta.uuid),
|
||||
async.apply(db.deleteObjectField, 'uid:' + uid + ':sessionUUID:sessionId', sessionObj.meta.uuid),
|
||||
async.apply(db.sortedSetRemove, 'uid:' + uid + ':sessions', sessionId),
|
||||
async.apply(db.sessionStore.destroy.bind(db.sessionStore), sessionId)
|
||||
], callback);
|
||||
|
||||
Reference in New Issue
Block a user