1
0
Fork 0

Re-createSid on every access

There's no other way to prevent the internal sid from timing out apparently.
This commit is contained in:
Alan Plum 2016-04-21 15:13:20 +02:00
parent fff95d7666
commit 7653fe5eb8
No known key found for this signature in database
GPG Key ID: 8ED72A9A323B6EFD
1 changed files with 7 additions and 7 deletions

View File

@ -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;
},