api: generate a smaller code for reset password
Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago
fe9036861180aade9d302d1f7bb8871c60d05542 Browse filesParents
88d7ba7Changed files
1
Additions
+3
Deletions
-1
api/src/lib/jwt.ts
1 1
import jwt from 'jsonwebtoken';
2 2
import crypto from 'crypto';
3 3
4 4
const JWT_SECRET = process.env.JWT_SECRET || 'development-secret-change-in-production';
5 5
const JWT_EXPIRES_IN = '7d';
18 18
export const verifyToken = (token: string): TokenPayload => {
19 19
return jwt.verify(token, JWT_SECRET) as TokenPayload;
20 20
};
21 21
22 22
export const generatePasswordResetToken = (): string => {
23 -
return crypto.randomBytes(32).toString('hex');
23 +
return [...Array(6)]
24 +
.map(() => crypto.randomInt(100))
25 +
.join(" ");
24 26
};
25 27
26 28
export const getPasswordResetExpiration = (): Date => {
27 29
const expirationTime = new Date();
28 30
expirationTime.setHours(expirationTime.getHours() + 1); // 1 hour from now
30 32
};
31 33
32 34
export const isTokenExpired = (expirationDate: Date): boolean => {
33 35
return new Date() > expirationDate;
34 36
};