Integrazione con Authentik
Il Tenant Manager si integra con Authentik per il provisioning automatico degli accessi autenticati.
Il Tenant Manager si integra con Authentik per il provisioning automatico degli accessi autenticati. L'integrazione è attiva solo per le applicazioni con il campo Authentik abilitato impostato a true.
Gli ambienti Authentik disponibili sono:
QA — https://auth-qa.opencityitalia.it/
Produzione — https://auth.opencityitalia.it/
Provisioning del tenant
Quando un tenant raggiunge uno stato finale tramite il ciclo di vita (attivo, in produzione, archiviato, eliminato), il flow Windmill esegue automaticamente il subflow Authentik corrispondente:
active / production
Crea Application + Provider OAuth2 + gruppo tenant (idempotente)
archived
Rimuove l'accesso all'app (soft — il gruppo resta)
deleted
Elimina Application, Provider e gruppo tenant
È anche possibile eseguire il provisioning manualmente dalla scheda Identità del tenant, senza passare per il ciclo di vita.
Sezione Autenticazione OAuth2 (accordion nel tab Informazioni)
Visibile solo per i tenant la cui applicazione ha Authentik abilitato.
Redirect URI OAuth2 — campo di testo multiriga (uno per riga). Se l'applicazione ha un redirect_uri_pattern, la textarea viene pre-popolata automaticamente con l'URI espanso dai dati del tenant (app_id, environment, customer_slug, campi config). Se l'espansione è parziale (alcuni segnaposto richiedono valori di configurazione non ancora salvati), viene mostrata l'anteprima sotto la textarea. Il pulsante Salva persiste il valore nel campo authentik_redirect_uri del tenant. Gli URI vengono inviati al provider Authentik al momento del provisioning.
Stato provisioning — badge Provisionato / Non provisionato, calcolato interrogando Authentik in tempo reale.
Pulsante "Provisiona" — visibile solo se il tenant non è ancora provisionato. Avvia il flow Authentik direttamente, indipendentemente dallo stato del ciclo di vita. Prima di inviare la richiesta, salva automaticamente il valore della textarea se diverso da quello in DB.
Credenziali OAuth2 (solo se provisionato) — Client ID, Client Secret (con pulsante copia ⎘); OpenID Configuration URL, JWKS URL (come link cliccabili); nome del gruppo cliente e del gruppo tenant in Authentik (con pulsante copia ⎘).
Scheda Utenti — Tenant
Visibile solo per i tenant la cui applicazione ha Authentik abilitato. Se il tenant non è ancora provisionato, mostra un avviso con link al tab Informazioni (dove si trovano il pulsante Provisiona e le credenziali). Una volta provisionato, mostra la lista degli utenti del gruppo Authentik del tenant, con le stesse operazioni disponibili nella scheda Utenti del Cliente.
Scheda Utenti — Cliente
Permette di gestire gli utenti che possono accedere ai tenant del cliente. La scheda mostra il gruppo Authentik del cliente (customer/{slug}) e le seguenti operazioni:
Aggiungi utente — cerca un utente esistente in Authentik per email e aggiungilo al gruppo cliente; se non esiste, crea un invito di enrollment con link da condividere.
Invita — invia un invito di enrollment a uno o più indirizzi email. Gli utenti già presenti in Authentik vengono aggiunti direttamente; gli altri ricevono il link di registrazione.
Importa CSV — operazione bulk per aggiungere o invitare più utenti da un file.
Gestisci accesso — per ogni utente, seleziona a quali tenant (tra quelli del cliente provisionati in Authentik) può accedere. Disponibile anche in modalità bulk per agire su più utenti contemporaneamente.
Scheda Utenti — Organizzazione
Ogni organizzazione censita nel Tenant Manager ha un gruppo Authentik corrispondente (organization/{slug}), creato automaticamente alla registrazione dell'organizzazione.
La scheda permette di:
Gestire gli utenti del gruppo — aggiungere utenti esistenti, invitare nuovi utenti (enrollment), importare da CSV, rimuovere utenti.
Gestire gli accessi app — visualizza e configura i tenant (dei clienti gestiti dall'organizzazione) a cui il gruppo organizzazione ha accesso. Il pulsante Sincronizza tutti concede automaticamente l'accesso a tutti i tenant assegnati all'organizzazione.
Modalità single-tenant e multi-tenant
Il campo App mode sull'applicazione (single-tenant / multi-tenant) determina come vengono creati gli oggetti in Authentik.
Single-tenant
Ogni tenant ha un proprio Provider OAuth2 e una propria Application in Authentik, specifici per quel cliente.
Nome provider e application:
{app_slug}-{customer_slug}-{app_id}-{environment}Es. website-comuni-comune-roma-acme123-productionRedirect URI: configurabili per ogni tenant dalla scheda Identità ; vengono aggiornati in Authentik ad ogni salvataggio.
Rinomina: se cambia l'app_id del tenant, il provider e l'application vengono rinominati automaticamente in Authentik.
Eliminazione: alla cancellazione del tenant, provider e application vengono eliminati da Authentik.
Multi-tenant
L'Application e il Provider in Authentik sono condivisi tra tutti i clienti dello stesso ambiente. Il TM non li crea né li elimina.
Nome provider e application: {app_slug}-{environment} Es. chatbot-production
Redirect URI: statici, gestiti direttamente in Authentik (il TM non li modifica).
Rinomina / eliminazione: il TM non tocca provider e application; rinomina o elimina solo il gruppo tenant.
Cosa è comune a entrambe le modalitÃ
In entrambi i casi il provisioning crea un gruppo tenant in Authentik:
customer/{customer_slug}/tenant/{app_id}/{environment}
Questo gruppo è sempre creato al provisioning e sempre eliminato alla cancellazione del tenant, indipendentemente dalla modalità .
Last updated
Was this helpful?