From 7653fe5eb895a9e1a16dbddabb7f49e05010acab Mon Sep 17 00:00:00 2001 From: Alan Plum Date: Thu, 21 Apr 2016 15:13:20 +0200 Subject: [PATCH] Re-createSid on every access There's no other way to prevent the internal sid from timing out apparently. --- .../@arangodb/foxx/sessions/storages/_system.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/js/server/modules/@arangodb/foxx/sessions/storages/_system.js b/js/server/modules/@arangodb/foxx/sessions/storages/_system.js index f015c307ff..4b6a2059e3 100644 --- a/js/server/modules/@arangodb/foxx/sessions/storages/_system.js +++ b/js/server/modules/@arangodb/foxx/sessions/storages/_system.js @@ -47,13 +47,17 @@ module.exports = function systemStorage(cfg) { const now = Date.now(); const doc = db._sessions.document(sid); const internalAccessTime = internal.accessSid(sid); - if (internalAccessTime) { + if (doc.uid && internalAccessTime) { doc.lastAccess = internalAccessTime; } if ((doc.lastAccess + expiry) < now) { this.clear(sid); return null; } + if (doc.uid) { + const user = db._users.document(doc.uid); + internal.createSid(doc._key, user.user); + } db._sessions.update(sid, {lastAccess: now}); return { _key: doc._key, @@ -93,12 +97,8 @@ module.exports = function systemStorage(cfg) { db._sessions.replace(sid, payload); } if (uid) { - if (isNew) { - const user = db._users.document(uid); - internal.createSid(session._key, user.user); - } else { - internal.accessSid(sid); - } + const user = db._users.document(uid); + internal.createSid(session._key, user.user); } return session; },