Salta ai contenuti

Installa Lockatus

Lockatus viene distribuito come una singola immagine Docker più un database Postgres. Genera la sua chiave di firma RS256 al primo avvio (memorizzata cifrata nel database) e inizializza il primo superadmin — così un singolo docker compose up ti dà un hub di identità funzionante.

Docker

Il percorso supportato. Il docker compose incluso avvia l’hub e Postgres insieme.

A master key

LOCKATUS_SECRET cifra i segreti TOTP e firma la sessione dell’hub. Genera 32 byte casuali.

A reachable issuer URL

LOCKATUS_ISSUER è l’URL pubblico che i token trasportano — deve essere raggiungibile sia dal browser sia dalle app federate.

Terminal window
git clone https://github.com/diegoparras/lockatus.git && cd lockatus
cp .env.example .env # set POSTGRES_PASSWORD and LOCKATUS_SECRET
docker compose up -d --build
docker compose logs lockatus # the generated admin password is printed once here
# → http://localhost:8081

Genera la master key con:

Terminal window
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
  1. Apri http://localhost:8081 e accedi come LOCKATUS_ADMIN_EMAIL con la password stampata una volta nei log (o quella che hai impostato in LOCKATUS_ADMIN_PASS).
  2. In Access, la matrice mostra chi ha quale ruolo in ciascuna app. Crea utenti e assegna ruoli.
  3. Facoltativamente, registra l’autenticazione a due fattori per il tuo account, e aggiungi qualsiasi nuova app della famiglia dalla matrice con il pulsante + App.
RouteScopo
GET /healthStato del servizio (e stato del database).
GET /.well-known/openid-configurationMetadati dell’issuer per la discovery OIDC.
GET /jwks.jsonLa chiave pubblica, così che le app verifichino i token offline.
VariableDefaultDescrizione
POSTGRES_PASSWORD(required)Password del database.
LOCKATUS_SECRET(required)Master key — cifra i segreti TOTP e firma la sessione dell’hub.
LOCKATUS_ISSUERhttp://localhost:8081URL issuer pubblico incorporato nei token.
LOCKATUS_ADMIN_EMAILadmin@lockatus.localIl primo superadmin.
LOCKATUS_ADMIN_PASS(empty)Vuota → generata e stampata una volta nei log.
LOCKATUS_SECURE_COOKIE0Imposta su 1 dietro TLS.
LOCKATUS_PORT8081Porta host.