cookie state
name: demo-session
value: —
expires: —
remaining: —
v145 · Web APIs · Session Rotator
A rolling-session simulator: each time the user is "active", we rewrite the auth cookie with a fresh maxAge in seconds. Watch the countdown meter shrink in real time, and see how the cookie disappears when it expires.
// Chrome 145: cookieStore.set() accepts a number for maxAge (seconds-from-now).
await cookieStore.set({
name: 'demo-session',
value: crypto.randomUUID(),
maxAge: 20, // 20 seconds — equivalent to Max-Age=20
sameSite: 'lax',
secure: true,
});
// Subscribe to change events so you can react to expiry.
cookieStore.addEventListener('change', (e) => {
for (const c of e.deleted) log('deleted ' + c.name);
for (const c of e.changed) log('set ' + c.name + ' expires ' + new Date(c.expires).toLocaleTimeString());
});