Lion Cipher Lab

Build a CAEP / Shared Signals receiver from scratch — verify SETs and kill a live session on a revocation signal

Why it matters

Every OAuth 2.0 / OpenID Connect system hands out access tokens that live for minutes to hours. That TTL is a bet: 'nothing about this user's trust will change before the token expires.' The bet loses constantly — someone is fired, a laptop is stolen, a password is reset after phishing, an admin revokes a session — and a pure bearer-token relying party keeps honoring the still-valid, still-unexpired token right up until it dies on its own. You can shrink the window with very short TTLs (now you're re-minting tokens constantly) or by calling the issuer's introspection endpoint on every request…

What you'll learn

Steps in this lab

  1. The gap: a valid token outlives the trust behind it
  2. The four pieces, and the shape of a SET
  3. Stand up the local transmitter's keys and publish a JWKS
  4. Build the receiver: a session, a protected route, and a SET endpoint that VERIFIES before it acts
  5. Build the transmitter: mint and PUSH a real signed SET
  6. PROVE it: fire a session-revoked SET and watch a live session die
  7. Break it: forged signature, wrong audience, and replay are all REJECTED
  8. The judgment: a signal you can't verify is worse than no signal

Open the full interactive lab →