LibreChat/packages
Dev Chohan 01af63cb52
Some checks are pending
Docker Dev Branch Images Build / build (Dockerfile, lc-dev, node) (push) Waiting to run
Docker Dev Branch Images Build / build (Dockerfile.multi, lc-dev-api, api-build) (push) Waiting to run
GitNexus Index / index (push) Waiting to run
GitNexus Index / post-index (push) Blocked by required conditions
Docker Dev Images Build / build (Dockerfile, librechat-dev, node) (push) Waiting to run
Docker Dev Images Build / build (Dockerfile.multi, librechat-dev-api, api-build) (push) Waiting to run
Sync Locize Translations & Create Translation PR / Sync Translation Keys with Locize (push) Waiting to run
Sync Locize Translations & Create Translation PR / Create Translation PR on Version Published (push) Blocked by required conditions
fix: Use JWT exp claim for MCP when OAuth token omits expires_in (#13248)
MCP OAuth access tokens are stored with a 365-day default expiry when the
provider's token response omits `expires_in` (only RECOMMENDED per RFC 6749
§5.1). Providers that issue short-lived JWT access tokens but omit
`expires_in` (e.g. Salesforce) therefore get tokens treated as valid for a
year and never refreshed, so every call 401s once the real token lapses
until the user manually reconnects.

When the access token is a JWT (RFC 9068), read its `exp` claim and use it as
the authoritative expiry, falling back to the 365-day default only for opaque
tokens. Explicit `expires_at`/`expires_in` still take precedence.

Adds unit tests for storeTokens expiry resolution.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 21:20:59 -04:00
..
api fix: Use JWT exp claim for MCP when OAuth token omits expires_in (#13248) 2026-05-22 21:20:59 -04:00
client v0.8.6-rc1 (#13094) 2026-05-12 21:40:23 -04:00
data-provider 🛣️ feat: Add MCP Remote Proxy Support (#13076) 2026-05-21 15:28:54 -04:00
data-schemas 🪪 fix: Prevent MCP Server Name Collisions (#13256) 2026-05-22 20:46:14 -04:00