# Login with Keycloak: tasks Tasks 1 to 4 were built before this spec was written; their commits are listed for reference. - [x] 1. **Keycloak**: guest authenticator and cleanup task, realm export, Docker image, compose service, nginx proxy and rate limit, integration tests. (`7c99a76`) - [x] 2. **Backend**: token verifier, WebSocket `auth` handshake, several sockets per user, player names in games, `LEGACY_USERKEY_AUTH`, tests. (`30ad51c`) - [x] 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`) - [x] 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`.