require-jwt-lifetime
Require an expiration claim or a maximum token age when returning a verified JWT.
Why
JOSE validates exp when present but does not require it by default, so otherwise valid tokens without an expiration may remain accepted indefinitely.
Fix
Set requiredClaims: ['exp'] or a finite maxTokenAge in jwtVerify options. Keep issuer and audience checks appropriate to the protocol.
Examples
import { jwtVerify } from "jose";function verify(token, key) { return jwtVerify(token, key);}import { jwtVerify } from "jose";function verify(token, key) { return jwtVerify(token, key, { requiredClaims: ["exp"] });}