Add generación y expiración de tokens de sesión
This commit is contained in:
19
mvp/b2c/src/lib/auth/tokens.ts
Normal file
19
mvp/b2c/src/lib/auth/tokens.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { randomBytes, createHash } from 'node:crypto';
|
||||
|
||||
export const SESSION_TTL_MS = 30 * 24 * 60 * 60 * 1000; // 30 días
|
||||
|
||||
export function generateSessionToken(): string {
|
||||
return randomBytes(32).toString('hex');
|
||||
}
|
||||
|
||||
export function hashSessionToken(token: string): string {
|
||||
return createHash('sha256').update(token).digest('hex');
|
||||
}
|
||||
|
||||
export function isSessionExpired(expiresAt: Date, now: Date = new Date()): boolean {
|
||||
return expiresAt.getTime() <= now.getTime();
|
||||
}
|
||||
|
||||
export function sessionExpiry(now: Date = new Date()): Date {
|
||||
return new Date(now.getTime() + SESSION_TTL_MS);
|
||||
}
|
||||
Reference in New Issue
Block a user