From 0bc316f0aad2ebd3bf7dfc52584944ef88fcbe54 Mon Sep 17 00:00:00 2001 From: nvms Date: Wed, 11 Sep 2024 13:13:52 -0400 Subject: [PATCH] expose resyncSession --- packages/express-keepalive-ws/bun.lockb | Bin 78303 -> 78388 bytes packages/express-keepalive-ws/package.json | 2 +- packages/express-keepalive-ws/src/index.ts | 1 + .../express-session-auth/src/middleware.ts | 10 +++++++--- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/express-keepalive-ws/bun.lockb b/packages/express-keepalive-ws/bun.lockb index 06764df7d5b11ca42f5ae6e3b63addf2a51f370d..737862cc7384ec7923cc24e8776ee11bf207f194 100755 GIT binary patch delta 10129 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 z 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 { + const resyncSession = async (force = false) => { if (!isLoggedIn()) { return; } @@ -467,7 +467,7 @@ export const createAuth = async ({ const lastResync = new Date(req.session.auth.lastResync); - if (lastResync && lastResync.getTime() > Date.now() - interval) { + if (!force && lastResync && lastResync.getTime() > Date.now() - interval) { return; } @@ -500,7 +500,10 @@ export const createAuth = async ({ const { token } = getRememberToken(); - if (req.session.auth.lastRememberCheck && (Date.now() - new Date(req.session.auth.lastRememberCheck).getTime()) < 5000) { + if ( + req.session.auth.lastRememberCheck && + Date.now() - new Date(req.session.auth.lastRememberCheck).getTime() < 5000 + ) { return; } @@ -1039,6 +1042,7 @@ export const createAuth = async ({ return { processRememberDirective, + resyncSession, forceLogoutForUser, forceLogoutForUserById,