Performance: JWT token generation and verification
MEDIUM IMPACT
This concept affects server response time and client-side processing speed during authentication.
import jwt from 'jsonwebtoken'; async function generateToken(user) { return new Promise((resolve, reject) => { jwt.sign(user, 'secretKey', { expiresIn: '1h' }, (err, token) => { if (err) reject(err); else resolve(token); }); }); } async function verifyToken(token) { return new Promise((resolve, reject) => { jwt.verify(token, 'secretKey', (err, decoded) => { if (err) reject(err); else resolve(decoded); }); }); }
const jwt = require('jsonwebtoken'); function generateToken(user) { // Using synchronous sign method return jwt.sign(user, 'secretKey', { expiresIn: '1h' }); } function verifyToken(token) { // Using synchronous verify method try { return jwt.verify(token, 'secretKey'); } catch (e) { return null; } }
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Synchronous JWT sign/verify | 0 (server-side) | 0 | 0 | [X] Bad |
| Asynchronous JWT sign/verify | 0 (server-side) | 0 | 0 | [OK] Good |