mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-24 01:10:31 +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;
|
var _id;
|
||||||
|
|
||||||
async.waterfall([
|
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) {
|
function(sessionId, next) {
|
||||||
if (!sessionId) {
|
if (!sessionId) {
|
||||||
return next(new Error('[[error:no-session-found]]'));
|
return next(new Error('[[error:no-session-found]]'));
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ function continueLogin(req, res, next) {
|
|||||||
|
|
||||||
// Associate login session with user
|
// Associate login session with user
|
||||||
user.auth.addSession(userData.uid, req.sessionID);
|
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);
|
plugins.fireHook('action:user.loggedIn', userData.uid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ module.exports = function(User) {
|
|||||||
|
|
||||||
db.sessionStore.get(sessionId, function(err, sessionObj) {
|
db.sessionStore.get(sessionId, function(err, sessionObj) {
|
||||||
async.parallel([
|
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.sortedSetRemove, 'uid:' + uid + ':sessions', sessionId),
|
||||||
async.apply(db.sessionStore.destroy.bind(db.sessionStore), sessionId)
|
async.apply(db.sessionStore.destroy.bind(db.sessionStore), sessionId)
|
||||||
], callback);
|
], callback);
|
||||||
|
|||||||
Reference in New Issue
Block a user