Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Session expire or change while interacting with chaise pages #1918

Closed
RFSH opened this issue Mar 11, 2020 · 1 comment
Closed

Session expire or change while interacting with chaise pages #1918

RFSH opened this issue Mar 11, 2020 · 1 comment

Comments

@RFSH
Copy link
Member

RFSH commented Mar 11, 2020

We're currently working on some improvement for 401 handling. 401 error can happen if the user session expires and they don't have the required access to the data anymore. But in read cases, even if the user session expires, we might not get a 401. For example, assume that you opened a recordset page and didn't interact with it for some time. If later you get back to that page and open a facet modal, the data that you're going to be presented with might be different if your session has been expired.

This not only going to be confusing to the users but also it might also cause 409 errors in ermrestjs/chaise since all the Reference objects (and therefore requests) have been created based on the old user permissions.

The same issue can also happen if the user permissions change while they are interacting with the page, but that's not as frequent as the session expiring and it might be harder to guard against.

We should think about ways to fix this as it can be confusing to the users (or might cause unexpected 409 errors). One way to fix this is to periodically check the user session in the background and prompt users with the same 401 error if it has been expired.

@jrchudy
Copy link
Member

jrchudy commented Mar 12, 2020

In the case that an unexpected 409 error occurs because of a session timeout, I don't think we want to show a "session timed out login dialog". Instead we should do a check to see if the session is timed out, then modify the error dialog to prepend text suggesting that this error may have occurred because a previous session existed but is no longer valid.

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

No branches or pull requests

2 participants