File tree Expand file tree Collapse file tree 2 files changed +16
-0
lines changed
Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -6,11 +6,15 @@ import { sessionStoreCleanupExpiredSessions } from "./session-store.js";
66 * {@link sessionStoreCleanupExpiredSessions}. By default, removes expired and revoked
77 * sessions after 14 days.
88 *
9+ * If 'maxSessionLifetimeInDays' is provided, even active sessions will be removed if
10+ * they are created 'maxSessionLifetimeInDays'-days ago.
11+ *
912 * Recommended interval: daily
1013 * Recommended cronExpression: 0 2 * * *
1114 *
1215 * @param {{
1316 * maxRevokedAgeInDays?: number,
17+ * maxSessionLifetimeInDays?: number,
1418 * }} [options]
1519 * @returns {import("./queue-worker.js").QueueWorkerHandler }
1620 */
@@ -27,6 +31,7 @@ export function jobSessionStoreCleanup(options) {
2731 newEventFromEvent ( event ) ,
2832 sql ,
2933 options ?. maxRevokedAgeInDays ?? 14 ,
34+ options ?. maxSessionLifetimeInDays ,
3035 ) ;
3136
3237 eventStop ( event ) ;
Original file line number Diff line number Diff line change @@ -390,12 +390,14 @@ export async function sessionStoreRefreshTokens(
390390 * @param {import("@compas/stdlib").InsightEvent } event
391391 * @param {import("postgres").Sql<{}> } sql
392392 * @param {number } maxRevokedAgeInDays
393+ * @param {number } [maxSessionLifetimeInDays]
393394 * @returns {Promise<void> }
394395 */
395396export async function sessionStoreCleanupExpiredSessions (
396397 event ,
397398 sql ,
398399 maxRevokedAgeInDays ,
400+ maxSessionLifetimeInDays ,
399401) {
400402 eventStart ( event , "sessionStore.cleanupExpiredSessions" ) ;
401403
@@ -423,6 +425,15 @@ export async function sessionStoreCleanupExpiredSessions(
423425 accessTokensNotExists : { } ,
424426 } ) ;
425427
428+ if ( ! isNil ( maxSessionLifetimeInDays ) && maxSessionLifetimeInDays > 1 ) {
429+ const d = new Date ( ) ;
430+ d . setDate ( d . getDate ( ) - maxSessionLifetimeInDays ) ;
431+
432+ await queries . sessionStoreDelete ( sql , {
433+ createdAtLowerThan : d ,
434+ } ) ;
435+ }
436+
426437 eventStop ( event ) ;
427438}
428439
You can’t perform that action at this time.
0 commit comments