"매 user 의 매 authenticated state 의 매 birth → death". Session lifecycle 는 매 login 으로 매 시작, 매 idle/absolute timeout 또는 매 explicit logout 으로 매 끝. 2026 현재 매 stateless JWT 의 매 short-lived access token (15 min) + 매 stateful refresh token (rotating, server-revocable) 의 매 hybrid 가 매 dominant; 매 OWASP ASVS V3 가 매 baseline.
// User table column: tokenVersion (incremented on logout-everywhere)
constaccess=jwt.sign({sub: user.id,ver: user.tokenVersion},SECRET);// On verify
if(decoded.ver!==currentUser.tokenVersion)thrownewError("revoked");
Session hijack defense (binding)
functionbindClaims(req: Request){returncrypto.createHash("sha256").update(req.headers["user-agent"]+req.ip).digest("hex");}// On issue: store. On validate: compare. Mismatch → require re-auth.