Auth fornisce l'autenticazione e l'autorizzazione per l'applicazione, compresa la gestione degli utenti, la gestione dei gruppi, la registrazione degli utenti, il login e le funzioni correlate. Viene installato automaticamente alla creazione del progetto.
Il login e la password predefiniti dell'utente amministratore sono i seguenti:
- Login: [email protected]
- Password: appmaster
Leimpostazioni del modulo possono essere configurate nel modo seguente:
- SignUp Groups: definisce l'elenco dei gruppi in cui l'utente può registrarsi;
- SignUp: consente agli utenti di registrarsi e ottenere account nell'applicazione;
- Session timeout (minutes): definisce il tempo dopo il quale la sessione utente corrente terminerà se l'utente è inattivo; default 60 min;
- Failed login delay (in ms): definisce il tempo di ritardo per le risposte dopo i tentativi di accesso falliti; default 0ms;
- Email confirmation required: definisce se l'utente deve confermare la registrazione via e-mail;
- Signed-Up User Active: imposta active=true per ogni oggetto Utente appena creato, se abilitato;
- Groups consente di creare e configurare un elenco di gruppi di utenti;
User e User Session vengono creati automaticamente una volta installato il modulo Auth. Si trovano nella scheda Data Design scheda. Non è possibile configurare gli attributi predefiniti di questi modelli, ma è possibile aggiungerne di nuovi.
User, User Session e Auth Module relativi ai BP
I processi aziendali preinstallati relativi a User e User Session sono i seguenti:
User Modello
- DB: Delete User: elimina l'oggetto User dal database in base alle sue caratteristiche ID;
- DB: Update User: azzera tutti i campi di un dato oggetto modello nel database e li aggiorna con i valori forniti (DB: Patch User deve essere usato per modificare solo i campi forniti e mantenere gli altri come sono);
- DB: Create User: crea un record nel database e restituisce l'oggetto modello User (richiede l'uso del blocco Make User per creare l'oggetto User oggetto modello in base ai campi inseriti);
- DB: Soft Delete Useraggiorna DeletedAt campo dell'oggetto modello selezionato User oggetto modello selezionato, invece di rimuovere l'intero record come DB: Delete User fa;
- DB: Bulk Delete User: elimina in blocco l'insieme di record User di oggetti modello con il dato IDs (ids array); failed_ids - un array di utenti IDs che non saranno cancellati;
- DB: Patch Useraggiorna i campi selezionati dell'oggetto User dell'oggetto modello nel database (DB: Update User deve essere usato per resettare tutti i campi);
- DB: Search User: trova uno o più User oggetti modello nel database in base ai loro campi e li restituisce;
- DB: GetOne User: trova l'oggetto User in base ai suoi campi e lo restituisce; : trova l'oggetto modello in base ai suoi campi ID e lo restituisce;
- Expand User: restituisce tutti i campi dell'oggetto User oggetto modello selezionato;
- Make User: crea l'oggetto User in base ai campi di input (è richiesto l'uso di DB: Create User per creare il record nel database);
User Session
- DB: Delete User Session: elimina User Session dal database in base al suo ID;
- DB: Update User Session: azzera tutti i campi di un dato oggetto modello nel database e li aggiorna con i valori forniti (DB: Patch User Session deve essere usato solo per modificare i campi forniti);
- DB: Create User Session: crea un record nel database e restituisce l'oggetto User Session oggetto modello (richiede l'uso di Make User Session per creare l'oggetto User oggetto modello in base ai campi inseriti);
- DB: Soft Delete User Sessionaggiorna DeletedAt del campo dell'oggetto User Session dell'oggetto modello selezionato;
- DB: Bulk Delete User Session: cancella in blocco l'insieme dei record dell'oggetto User Session record dell'oggetto modello con i dati IDs (ids array); failed_ids L'array definisce l'insieme dei record IDs che saranno ignorati dal processo di cancellazione;
- DB: Patch User Sessionaggiorna i campi selezionati dell'oggetto User Session dell'oggetto modello nel database (DB: Update User Session deve essere usato per resettare tutti i campi);
- DB: Search User Session: trova uno o più User Session oggetti modello nel database in base ai loro campi e li restituisce;
- DB: GetOne User Session: trova l'oggetto User Session in base ai suoi campi e lo restituisce; : trova l'oggetto modello in base ai suoi campi ID e lo restituisce;
- Expand User Session: restituisce tutti i campi dell'oggetto User Session oggetto modello selezionato;
- Make User Session: crea l'oggetto User Session in base ai campi di input (è richiesto l'uso di DB: Create User Session per creare il record nel database);
Auth Module
- Auth: Generate Auth Token: genera un token di autorizzazione (Auth Token) della lunghezza indicata;
- Auth: Registration: registra un nuovo utente;
- Auth: Authorization: controlla se un dato utente Auth Token esiste e restituisce l'utente ad esso associato;
- Auth: Authentification: verifica il login e la password dell'utente e restituisce Auth Token;
- Auth: Logout: termina la sessione dell'utente corrente in base all'opzione Auth Token;
- Auth: Get current user: restituisce l'oggetto User oggetto modello;
- Auth: Remove user from group: rimuove un utente dal gruppo selezionato in base alla sua ID;
- Auth: Add user to group: aggiunge un utente al gruppo selezionato in base alle sue caratteristiche ID;
- Auth: Hash Password: converte la stringa della password in un hash;
- Auth: Restore Password: ripristina la password in base al login dell'utente;
- Auth: Change Password: modifica la password dell'utente;
- Auth: Probe Password: verifica l'associazione tra password e hash;
Auth Module, User e User Session endpoints
Preinstallati Endpoints dei modelli Auth Module e User e User Session vengono generati automaticamente dopo la creazione del progetto.
Auth Module
Tipo di richiesta | Endpoint | Processo aziendale associato |
/logout/ | Auth: Logout | |
/auth/ | Auth: Authentification | |
/register/ | Auth: Registration | |
/confirm/ | Auth: Get Current User | |
/user/change-password/ | Auth: Change Password | |
/user/restore-password/ | Auth: Restore Password | |
/user/profile/ | Auth: Get Current User |
Utente
Tipo di richiesta | Endpoint | Processo aziendale associato |
/user/:id/ | DB: Update User | |
/user/:id/ | DB: Delete User | |
/user/:id/ | DB: GetOne User | |
/user/ | DB: Search User | |
/user/:id/ | DB: Patch User | |
/user/ | DB: Create User |
User Session
Tipo di richiesta | Endpoint | Processo aziendale associato |
/user-session/:id/ | DB: Delete User Session | |
/user-session/:id/ | DB: GetOne User Session | |
/user-session/ | DB: Search User Session | |
/user-session/:id/ | DB: Patch User Session | |
/user-session/ | DB: Create User Session | |
/user-session/:id/ | DB: Update User Session |
Auth Token
Auth Token viene utilizzato come token di sessione di un utente autorizzato. È possibile interagire con il Auth Token, nei processi aziendali dell'applicazione web:
- Get Auth Token restituisce la sessione dell'utente corrente Auth Token;
- Set Auth Token riscrive la sessione dell'utente corrente Auth Token;
- Remove Auth Token rimuove la sessione dell'utente corrente Auth Token;
Come ottenere l'utente corrente
1. Andare alla scheda Business logic e trascinare il blocco Auth: Get current user blocco.
2. Andare alla scheda Endpoints ed espandere la sezione User sezione. Quindi, creare un GET metodo di tipo per il processo aziendale creato nel passaggio 1. L'URL endpoint sarà /user_current.
3. Andare alla scheda Web Apps e creare un nuovo processo aziendale con Server request GET /user_current per ottenere l'utente corrente dal processo aziendale dell'applicazione web.