Stateless session verification: no writes, no replacement tokens (CDI 5.5)
Author: porcellusCreated Jul 24, 2026Updated Sep 9, 2026
Labelsagent-stale
On CDI >= 5.5, session verification performs no DB writes and never returns a replacement access token:
- The stateless early return no longer requires
parentRefreshTokenHash1 == null— any validly signed, unexpired token short-circuits. - Verify-time promotion is removed (rotation now happens at refresh).
- The implicit payload-update token swap is removed; with
checkDatabase = truethe response carriespayloadUpdateAvailable: truewhen the stored payload differs, and no token is minted. - With
checkDatabase = true, access tokens whose refresh-token lineage matches neither current nor prev are rejected with unauthorised (the client refreshes; the refresh path holds the real reuse checks).
CDI <= 5.4 verify behavior is unchanged.
Depends-on: #1301 Plan: PLAN-002
Source: supertokens/supertokens-core