OIDC single sign-on
Authorization Code + PKCE. Accedi una sola volta all’hub; ogni app federata ti riconosce e legge il tuo ruolo dal token. Accedere una volta apre ogni app a cui sei autorizzato.
Lockatus è l’hub di identità della suite: la lista condivisa delle persone e il portiere comune. Custodisce gli utenti, le loro password, la loro autenticazione a due fattori e i loro ruoli per app, e consegna a ciascuno un pass firmato per entrare in qualsiasi app senza accedere di nuovo.
OIDC single sign-on
Authorization Code + PKCE. Accedi una sola volta all’hub; ogni app federata ti riconosce e legge il tuo ruolo dal token. Accedere una volta apre ogni app a cui sei autorizzato.
Offline verification
L’hub firma i token con RS256; le app li verificano contro il JWKS pubblico senza chiamare casa. Se l’hub è giù, le sessioni attive continuano a funzionare.
The access matrix
Una griglia chi-per-sistema. Ogni app dichiara il proprio catalogo di ruoli; Lockatus li assegna. Nessun ruolo per un’app significa nessun accesso — il gating avviene nella matrice.
Two-factor and recovery
Registra il TOTP una sola volta (Google Authenticator o compatibile), con codici di recupero monouso e un reset da admin. Ereditato da ogni app. Cambiare una password invalida ogni refresh token.
Le quattro app a utente singolo non diventano multi-utente al loro interno — Lockatus è la loro tabella utenti esterna. Ogni app dichiara i ruoli che comprende; l’hub li assegna dalla matrice, e l’app applica il gating per ruolo. Una proprietà più profonda, per utente, risiede solo dove un’app possiede davvero risorse per persona (come Selega).
Qualsiasi nuova app della famiglia si unisce dalla matrice stessa, senza un nuovo deploy: dichiara il suo slug e il suo catalogo di ruoli (e i redirect URI opzionali) con il pulsante + App, poi assegna i ruoli agli utenti. Il catalogo della suite viene fornito pre-inizializzato.
La federazione è opzionale e non distruttiva — ogni app mantiene il suo login standalone dietro un
flag AUTH_MODE=federado (disattivato di default). In modalità federata l’app delega /login all’hub e,
nel callback, scambia il codice, verifica i token RS256 contro il JWKS, e inizializza la propria
sessione — così che il resto del gating per ruolo dell’app resti invariato. Sono forniti client OIDC di riferimento per Node
(node:crypto, nessuna dipendenza aggiuntiva) e Python (cryptography).