Keycloak bootstrap

Hair booking login is wired and ready for a later React frontend.

This page proves the end-to-end browser login flow against the same Keycloak realm used by smailnail. Once authenticated, the browser session is exposed through /api/me.

Session status

Checking

Fetching /api/me and /api/info to determine the current auth state.

Auth mode
...
Issuer
...
Client
...

Current user

Waiting for auth state...

Integration notes

  • The browser initiates login through /auth/login.
  • The server exchanges the authorization code at /auth/callback.
  • A signed HTTP-only session cookie carries the authenticated identity.
  • The future React app only needs to call fetch("/api/me", { credentials: "include" }).