Requirements, design decisions and tasks for the Keycloak login, written after the implementation; mobile login and turning off legacy userKey login remain open.
1.2 KiB
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
authhandshake, several sockets per user, player names in games,LEGACY_USERKEY_AUTH, tests. (30ad51c) - 3. Local packages: apps and
@mancala/corelink the packages in this repo instead of the npm releases, so the auth channels and types can be shared. (e165b0a) - 4. Web app:
AuthServicewithoidc-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-mobileclient in the realm and inKEYCLOAK_CLIENT_IDS,react-native-app-auth, guest login on first launch, token login instead of?userKey=, account screens, names; tested on a device. Details inTODO.md. - 6. Legacy off: once old app versions are no longer used, set
LEGACY_USERKEY_AUTH=false, which also removes/register.