-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Labels
area/token-exchangekind/bugCategorizes a PR related to a bugCategorizes a PR related to a bugpriority/importantMust be worked on very soonMust be worked on very soonrelease/26.2.6release/26.3.0team/core-clients
Description
Before reporting an issue
- I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
token-exchange
Describe the bug
Token exchange can return negative expiration values (in the past) when using an offline session. The main reason is that keycloak is using a transient session, that session is not detected as offline, and therefore the timeouts are calculated using online values.
Example returned response in a demo realm:
{
"access_token":"ey..",
"expires_in":-103,
"refresh_expires_in":0,
"token_type":"Bearer",
"not-before-policy":0,
"session_state":"af927eef-cb86-4c91-8fa0-32a7f65f625a",
"scope":"profile email",
"issued_token_type":"urn:ietf:params:oauth:token-type:access_token"
}
And the access token is also in the past:
{
"exp": 1750325886,
"iat": 1750325989,
"auth_time": 1750325570,
"jti": "ftrtte:bebe8121-31e9-457c-b57b-63f4dd64500e",
"iss": "http://localhost:8080/realms/test-session",
...
}
Version
26.2.5
Regression
- The issue is a regression
Expected behavior
The response in token exchange should be OK and with correct expiration values.
Actual behavior
It returns expiration times in the past-
How to Reproduce?
- Modify the realm to have a short SSO Session Max (5 mins for example).
- Create an offline session using code to token.
- Wait more than the 5 mins that would have expired an online session.
- Refresh the offline token to obtain a new access token.
- With the new access token perform a token exchange request.
- The values returned are in the past (calculation is done like it was an online session which would have been expired).
Anything else?
No response
lorenzbaier
Metadata
Metadata
Assignees
Labels
area/token-exchangekind/bugCategorizes a PR related to a bugCategorizes a PR related to a bugpriority/importantMust be worked on very soonMust be worked on very soonrelease/26.2.6release/26.3.0team/core-clients