Modulo Auth
Autenticazione utente, registrazione e gestione della sessione tramitebase44.auth.
Contenuti
- Tipi TypeScript
- Metodi
- Esempi
- Gestione degli errori
- Provider di autenticazione
- Disponibilità per ambiente
- Visibilità dell’app
- Limitazioni
Tipi TypeScript
Interfaccia User
Interfaccia LoginResponse
Interfacce dei parametri
RegisterParams
VerifyOtpParams
ResetPasswordParams
ChangePasswordParams
Tipo Provider
Metodi
Interfaccia del modulo
Tabella di riferimento dei metodi
| Metodo | Parametri | Tipo di ritorno | Descrizione |
|---|---|---|---|
register() | params: RegisterParams | Promise<any> | Crea un nuovo account utente |
loginViaEmailPassword() | email: string, password: string, turnstileToken?: string | Promise<LoginResponse> | Autentica con email/password |
loginWithProvider() | provider: Provider, fromUrl?: string | void | Avvia il flusso di login OAuth. Provider: 'google' (default), 'microsoft', 'facebook' (abilita nelle impostazioni dell’app) |
me() | Nessuno | Promise<User> | Ottieni l’utente autenticato corrente |
updateMe() | data: Partial<User> | Promise<User> | Aggiorna il profilo dell’utente corrente |
logout() | redirectUrl?: string | void | Reindirizza al logout lato server (cancella i cookie HTTP-only e la sessione), poi a redirectUrl o all’URL corrente |
redirectToLogin() | nextUrl: string | void | ⚠️ Evita - Preferisci un’interfaccia di login personalizzata con loginViaEmailPassword() o loginWithProvider() |
isAuthenticated() | Nessuno | Promise<boolean> | Controlla se l’utente è loggato |
setToken() | token: string, saveToStorage?: boolean | void | Imposta manualmente il token di autenticazione |
inviteUser() | userEmail: string, role: string | Promise<any> | Invia email di invito |
verifyOtp() | params: VerifyOtpParams | Promise<any> | Verifica il codice OTP |
resendOtp() | email: string | Promise<any> | Reinvia il codice OTP |
resetPasswordRequest() | email: string | Promise<any> | Richiedi il reset della password |
resetPassword() | params: ResetPasswordParams | Promise<any> | Reimposta la password con il token |
changePassword() | params: ChangePasswordParams | Promise<any> | Cambia la password dell’utente |
Esempi
Registrazione di un nuovo utente (flusso completo)
La registrazione richiede la verifica dell’email prima del login. Flusso completo:- Registrazione - Crea l’account utente
- Email di verifica inviata - L’utente riceve un codice OTP
- Verifica OTP - L’utente inserisce il codice per verificare l’email
- Login - L’utente può ora accedere
Importante: gli utenti non possono accedere finché non completano la verifica OTP. Tentare di chiamare loginViaEmailPassword prima della verifica fallirà.
Login con email/password
Login con provider OAuth
Provider supportati:'google' (abilitato di default), 'microsoft' e 'facebook'. Abilita Microsoft o Facebook nelle impostazioni di autenticazione della tua app prima di usarli.
Ottenere l’utente corrente
Aggiornare il profilo utente
Controllare lo stato di autenticazione
Logout
Logout reindirizza l’utente all’endpoint di logout lato server (/api/apps/auth/logout) per cancellare i cookie HTTP-only e la sessione, poi reindirizza all’URL fornito (o alla pagina corrente se omesso). Richiede un ambiente browser.
Pattern di route protetta
Impostare il token di autenticazione
Invitare un utente all’applicazione
Verifica OTP
Flusso di reset della password
Cambiare la password
Gestione degli errori
Scenari di errore comuni
Il modulo auth può generare vari errori. Ecco gli scenari comuni e come gestirli:Errori di autenticazione (401/403)
Errori di validazione (400/422)
Limiti di frequenza (429)
Gestore di errori generico
Provider di autenticazione
Configura i provider di autenticazione nella dashboard della tua app:Provider disponibili
Integrati (tutti i piani):- Email/Password - Predefinito, sempre abilitato
- Google - Autenticazione OAuth
- Microsoft - Autenticazione OAuth
- Facebook - Autenticazione OAuth
- Okta
- Azure AD
- GitHub
Usare i provider OAuth
- Google – abilitato di default.
- Microsoft – abilita nelle impostazioni di autenticazione della tua app prima dell’uso.
- Facebook – abilita nelle impostazioni di autenticazione della tua app prima dell’uso.
Disponibilità per ambiente
| Ambiente | Disponibilità | Note |
|---|---|---|
| Frontend | ✅ Sì | Tutti i metodi disponibili |
| Funzioni backend | ✅ Sì | Usa createClientFromRequest(req) per un client autenticato |
| Ruolo di servizio | ❌ No | I metodi auth non sono disponibili nel contesto del ruolo di servizio |
Uso nel frontend
Uso nelle funzioni backend
Visibilità dell’app
Controlla chi può accedere alla tua app nelle impostazioni dell’app:App pubbliche
- Nessun login richiesto per l’accesso di base
- Gli utenti possono visualizzare i contenuti pubblici senza autenticazione
- Gli utenti autenticati ottengono funzionalità/dati aggiuntivi
App private
- Login richiesto per accedere a qualsiasi contenuto
- Gli utenti non autenticati vengono reindirizzati automaticamente al login
- Tutti i contenuti sono protetti di default
Limitazioni
Opzioni di interfaccia di autenticazione
- Consigliato: costruisci un’interfaccia di login/registrazione personalizzata usando
loginViaEmailPassword()eloginWithProvider()per un controllo completo sull’esperienza utente e sul branding - Alternativa:
redirectToLogin()usa le pagine di autenticazione ospitate da Base44 con personalizzazione limitata
Login ospitato (tramite redirectToLogin)
redirectToLogin()mostra sia le opzioni di login sia quelle di registrazione nella stessa pagina- Nessun metodo separato
redirectToSignup() - Gli utenti possono passare tra login/registrazione nella pagina ospitata
- ⚠️ Nota: preferisci costruire un’interfaccia di login personalizzata per una migliore esperienza utente
Requisiti della password
- Lunghezza minima e requisiti di complessità applicati
- I requisiti non sono esposti tramite API
- Errori di validazione restituiti quando i requisiti non sono soddisfatti
Limiti di frequenza
- Le richieste OTP sono soggette a limiti di frequenza per prevenire abusi
- Le richieste di reset della password sono soggette a limiti di frequenza
- I tentativi di login possono essere soggetti a limiti di frequenza con la protezione Turnstile
Gestione del token
- I JWT vengono memorizzati automaticamente in localStorage di default
- Scadenza e refresh del token non esposti nell’API
- Chiama
me()oisAuthenticated()per verificare la validità del token
Best practice
1. Gestisci sempre gli errori
2. Verifica l’autenticazione prima di azioni protette
3. Usa la type safety con TypeScript
4. Non codificare in modo fisso le credenziali
5. Fornisci feedback all’utente
6. Gestisci con eleganza la scadenza del token
7. Costruisci un’interfaccia di login personalizzata (consigliato)
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.

