Docs

Documentation versions (currently viewing)

Hilla with Lit is deprecated and is removed in Vaadin 26. Use Hilla with React instead.

Handling Session Expiration

How to detect session expiration, for example to show a login view to the user.

You can use the built-in middleware InvalidSessionMiddleWare to detect when a user session expires.

This middleware requires a function as a constructor parameter (type of OnInvalidSessionCallback). The function should return a promise of LoginResult, containing the metadata of a login result, including:

error

Indicates whether the login attempt has failed.

token

In the event of a successful login, this is the cross-site request forgery (CSRF) prevention token, which can be extracted from the index.html page. See CSRF protection of browser-callable services for more information.

errorTitle

A short text describing a login error.

errorMessage

A more detailed explanation of the login error.

Example

As an example, you can use the InvalidSessionMiddleware to show a login view to the user.

Source code
connect-client.ts
import { ConnectClient, InvalidSessionMiddleware } from '@vaadin/hilla-frontend';
import { setSessionExpired } from '../auth';
const client = new ConnectClient({
  prefix: 'connect',
  middlewares: [
    new InvalidSessionMiddleware(async () => {
      setSessionExpired();
      const { LoginView } = await import('./login-overlay');
      return LoginView.showOverlay();
    }),
  ],
});
export default client;
connect-client.ts
login-overlay.ts
login-overlay.ts