v145 · Web APIs · Session Rotator

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.

controls

cookie state

name: demo-session
value:
expires:
remaining:

event log

code

// 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());
});

see also