users
Kickside users — auth, token storage, user/group persistence, directory lookup, per-user profile field store, admin API, and admin web component.
BUSL-1.1 1.8k downloads
Updated 3 days ago Repository
kicksideusersidentityadmin
Run
wippy run kickside/usersKickside Users
The user-management surface for Kickside: login, token storage, user/group persistence, directory lookup, a CRUD API, and a self-served admin web component.
What it provides
- HTTP API (
api_router, firewalled):GET/POST /users,PUT/DELETE /users/{id},GET/PUT /users/{id}/groups. Handlers are thin — they delegate persistence to the kickside user repos. - Auth API (
public_router):POST /user/tokenissues tokens with the selected security scope recorded in actor metadata for durable work. - Persistence —
app_users,app_user_groups, andkickside_user_auth_tokensmigrations are owned here. - Admin UI — the
kickside-usersweb component (aview.component), self-served from this module'shttp.static, mounted by tag.
Requirements
env_storage(ns.requirement, defaultkickside.users.env:envs) — auth/user env configuration. OS variables use the Kickside-ownedKICKSIDE_USERS_*namespace.public_router(requiredns.requirement) — unauthenticated router for login.api_router(requiredns.requirement) — a firewalled router the endpoints attach to. Handlers do no auth of their own.ui_server(requiredns.requirement) — the HTTP server the UI static mount attaches to.
Boundary
Permission-agnostic: authorization is enforced by the host router and app-owned
security scopes. This module owns user storage, token-store configuration, and
repository libraries; other Kickside modules consume kickside.users.persist:*
rather than depending on kickside auth internals.