Skip to content

fix: Sign in again when the renewed OIDC ID token has expired - #198

Merged
gianlucam76 merged 1 commit into
projectsveltos:mainfrom
gianlucam76:oidc-expired-id-token
Oct 8, 2026
Merged

gianlucam76 merged 1 commit into
projectsveltos:mainfrom
gianlucam76:oidc-expired-id-token

Conversation

@gianlucam76

Copy link
Copy Markdown
Member

With auth.oidc.tokenType set to id_token, the dashboard stores the ID token of every silent renewal. When the provider returns no ID token on a refresh, oidc-client-ts keeps the previous one. Once that one has expired, storing it makes every request fail with a 401 until the user signs in again by hand.

When a renewed ID token has already expired, clear the stored token, remove the OIDC user (which stops further renewals) and go to the login page, which now shows "Your session has expired, please login again".

The default access_token mode is not affected. A token whose expiry cannot be read (not a JWT, no exp claim) is stored as before.

The unit tests of the expiry check use vitest, which main gets with the profile form change (#196).

With auth.oidc.tokenType set to id_token, the dashboard stores the ID token
of every silent renewal. When the provider returns no ID token on a refresh,
oidc-client-ts keeps the previous one. Once that one has expired, storing it
makes every request fail with a 401 until the user signs in again by hand.

When a renewed ID token has already expired, clear the stored token, remove
the OIDC user (which stops further renewals) and go to the login page, which
now shows "Your session has expired, please login again".

The default access_token mode is not affected. A token whose expiry cannot be
read (not a JWT, no exp claim) is stored as before.

The unit tests of the expiry check use vitest, which main gets with the
profile form change (projectsveltos#196).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@gianlucam76
gianlucam76 merged commit 85749cb into projectsveltos:main Oct 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant