mancala/docs/specs/keycloak-auth/tasks.md
Halit Aksoy ab2424b648 docs: add Keycloak login spec
Requirements, design decisions and tasks for the Keycloak login, written
after the implementation; mobile login and turning off legacy userKey
login remain open.
2026-10-16 00:40:57 +03:00

1.2 KiB

Login with Keycloak: tasks

Tasks 1 to 4 were built before this spec was written; their commits are listed for reference.

  • 1. Keycloak: guest authenticator and cleanup task, realm export, Docker image, compose service, nginx proxy and rate limit, integration tests. (7c99a76)
  • 2. Backend: token verifier, WebSocket auth handshake, several sockets per user, player names in games, LEGACY_USERKEY_AUTH, tests. (30ad51c)
  • 3. Local packages: apps and @mancala/core link the packages in this repo instead of the npm releases, so the auth channels and types can be shared. (e165b0a)
  • 4. Web app: AuthService with oidc-client-ts, startup flow, account menu, token renewal over the open connection, names on the game page; auth channels and types moved to core. (f5dcf93)
  • 5. Mobile app: mancala-mobile client in the realm and in KEYCLOAK_CLIENT_IDS, react-native-app-auth, guest login on first launch, token login instead of ?userKey=, account screens, names; tested on a device. Details in TODO.md.
  • 6. Legacy off: once old app versions are no longer used, set LEGACY_USERKEY_AUTH=false, which also removes /register.