Files
parenthese/backend/src/lib/token-revocation.ts
T
IliesAllaliandClaude Opus 5 e8e2485dcd Parenthèse
Galaxie familiale : personnes, unions et filiations, photos, vidéos et voix sur chaque personne,
partage par lien avec consultation sans compte et contributions validées par le propriétaire.
Auto-hébergeable avec Docker. Licence PolyForm Noncommercial 1.0.0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 15:49:05 +02:00

25 lines
518 B
TypeScript

const revokedUserTokens = new Map<string, number>()
function nowSeconds(): number {
return Math.floor(Date.now() / 1000)
}
export function revokeUserToken(jti: string, exp: number): void {
revokedUserTokens.set(jti, exp)
}
export function isUserTokenRevoked(jti: string): boolean {
const exp = revokedUserTokens.get(jti)
if (!exp) {
return false
}
// Opportunistic cleanup of expired revocations.
if (exp <= nowSeconds()) {
revokedUserTokens.delete(jti)
return false
}
return true
}