feat(clerk-js,shared): Remove expired_token retry flow#8108
feat(clerk-js,shared): Remove expired_token retry flow#8108nikosdouvlis wants to merge 1 commit intomainfrom
Conversation
The previous session token is now always sent in the /tokens POST body (via the `token` param), so the backend no longer needs to request it via a 422 missing_expired_token error and retry. Removes: - MissingExpiredTokenError class and its re-export from @clerk/shared - The catch-and-retry logic in Session.#createTokenResolver - 4 related tests in Session.test.ts
🦋 Changeset detectedLatest commit: 3eb6e94 The changes in this PR will be included in the next version bump. This PR includes changesets to release 21 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (5)
💤 Files with no reviewable changes (2)
📝 WalkthroughWalkthroughThis change removes the expired token retry flow and related error handling from the Clerk authentication libraries. The 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📝 Coding Plan
Comment |
Why
The previous session token is now always sent in the
/tokensPOST body (via thetokenparam in #8105), so the backend no longer needs to request it via a 422missing_expired_tokenerror and a retry with?expired_token=<jwt>in the query string.This also removes JWT leakage from query strings. The old flow sent the full JWT as a URL search param, which is visible in access logs, proxies, and referrer headers. The new
tokenbody param avoids this.What
MissingExpiredTokenErrorclass from@clerk/sharedSession.#createTokenResolverNote:
isUnauthenticatedErrorstill treats 422 as unauthenticated. This is left as-is for now since other 422 error codes may still indicate invalid session state.Test plan
Summary by CodeRabbit
Release Notes