Skip to Content

Motore Actions

Le Actions sono funzioni JavaScript personalizzate che vengono eseguite durante i flussi di autenticazione in un ambiente sandbox. Consentono di estendere il comportamento di Auris senza modificare il codice core.


Trigger Disponibili

TriggerQuando si attiva
pre_loginPrima che Keycloak autentichi l’utente
post_loginDopo l’autenticazione riuscita, prima del rilascio del token
pre_signupPrima della creazione di un nuovo account utente
post_signupDopo la creazione di un nuovo account utente
post_change_passwordDopo un cambio password
pre_m2m_tokenPrima del rilascio di un token machine-to-machine

Creare un’Action

Vai su Actions

Nella sidebar della Console, clicca su Actions.

Clicca Crea Action

Clicca Crea Action nell’angolo in alto a destra.

Configura l’action

CampoDescrizione
NomeEtichetta descrittiva (es. “Verifica stato abbonamento”)
TriggerQuale evento attiva questa action
TimeoutTempo massimo di esecuzione in ms (default: 5000)

Scrivi il codice

L’editor di codice ha intellisense per il tipo AurisActionContext. L’action riceve un oggetto context con accesso a utente, tenant, applicazione ed evento.

// Esempio: Aggiunge una claim personalizzata al token module.exports = async function(context) { const { user, token } = context; // Aggiungi una claim personalizzata token.claims['app_tier'] = user.metadata?.subscription_tier ?? 'free'; // Nega il login se l'account è sospeso if (user.metadata?.suspended) { context.deny('Account sospeso. Contatta il supporto.'); } };

Testa l’action

Usa il pannello Test con un payload di test sintetico per verificare il comportamento prima di deployare.

Deploya

Clicca Salva & Deploya. L’action è attiva immediatamente per tutti i login successivi.


Blueprint Editor

Per logica visuale senza scrivere JavaScript, usa il Blueprint Editor — un’interfaccia drag-and-drop con nodi tipizzati.

  • Nodo Trigger — L’evento auth che avvia il flusso
  • Nodi Condizione — Logica if/then (confronti campi, operatori)
  • Nodi Logic Gate — Combinatori AND/OR
  • Nodi Azione — Operazioni da eseguire (nega, imposta claim, imposta metadati, log)

Ambiente Sandbox

Le Actions vengono eseguite in un ambiente sandbox V8. Le seguenti API sono bloccate: require, import, process, eval, fs, child_process.

Le API disponibili includono: fetch (HTTP), accesso a context.user, context.tenant, context.token, e un’istanza console per il logging.

Le Actions vengono eseguite sincronamente nel flusso di autenticazione. Se un’action supera il timeout, il login viene bloccato. Testa le tue actions con attenzione prima di deployarle in produzione.