The frontend signs the user out as soon as the access token expires. Access tokens are short-lived by design and are meant to be renewed silently in the background; the user's session should end only when the session itself has ended at the identity provider.
At the moment a single unsuccessful renewal is enough to sign the user out, even when the session is still valid and a further attempt would succeed. Renewals also happen independently for each request that arrives at the same
time, so they can interfere with one another and discard a renewal that did succeed. An unsuccessful renewal is not reported anywhere either, so the sign-out arrives without any indication of what happened.
A user working continuously should not be signed out at all. Signing in again should only be required once the session has genuinely ended at the identity provider, or the user signs out.
Out of scope: keeping idle users signed in for longer. How long a session survives without activity is a policy decision configured at the identity provider, not something the frontend should extend on its own.
Why: users are signed out at random during normal work, with no error shown and nothing they can correlate it with. #4082 makes that case recoverable — the user lands on the sign-in page and returns to where they were afterwards — but for a session that is still valid the sign-out should not happen in the first place.
The frontend signs the user out as soon as the access token expires. Access tokens are short-lived by design and are meant to be renewed silently in the background; the user's session should end only when the session itself has ended at the identity provider.
At the moment a single unsuccessful renewal is enough to sign the user out, even when the session is still valid and a further attempt would succeed. Renewals also happen independently for each request that arrives at the same
time, so they can interfere with one another and discard a renewal that did succeed. An unsuccessful renewal is not reported anywhere either, so the sign-out arrives without any indication of what happened.
A user working continuously should not be signed out at all. Signing in again should only be required once the session has genuinely ended at the identity provider, or the user signs out.
Out of scope: keeping idle users signed in for longer. How long a session survives without activity is a policy decision configured at the identity provider, not something the frontend should extend on its own.
Why: users are signed out at random during normal work, with no error shown and nothing they can correlate it with. #4082 makes that case recoverable — the user lands on the sign-in page and returns to where they were afterwards — but for a session that is still valid the sign-out should not happen in the first place.