Skip to content

Session management #22

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

Open
heruan opened this issue Aug 22, 2022 · 0 comments
Open

Session management #22

heruan opened this issue Aug 22, 2022 · 0 comments
Labels

Comments

@heruan
Copy link
Member

heruan commented Aug 22, 2022

Session management might be tricky when a third-party is involved, such as the single sign-on provider. In this case, the Vaadin app would have three different session to be taken care of:

  • the Vaadin session, created by Flow (obtainable by VaadinSession.getCurrent());
  • the servlet session, created by the HTTP container (e.g. Jetty) which is wrapped by VaadinSession;
  • the provider session, which it's not currently mapped to any object yet.

Having proper session management is crucial to avoid security issues, such as invalidating the Vaadin session but not the provider's (or the other way around). This might include:

  • create a new session after successful authentication (possibly transferring session data);
  • make sure the session expires after a certain amount of time to avoid infinite sessions;
  • destroy the session when logging out.

Also, being able to share the authentication state between different Vaadin applications using the same provider/client could be considered as a desirable feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant