Puoi utilizzare l'autenticazione Firebase per consentire ai tuoi utenti di autenticarsi con Firebase utilizzando i loro indirizzi e-mail e password e per gestire gli account basati su password della tua app.
Prima di iniziare
- Aggiungi Firebase al tuo progetto JavaScript .
- Se non hai ancora collegato la tua app al tuo progetto Firebase, fallo dalla console Firebase .
- Abilita l'accesso tramite e-mail/password:
- Nella console Firebase , apri la sezione Auth .
- Nella scheda Metodo di accesso, abilita il metodo di accesso tramite e- mail/password e fai clic su Salva .
Crea un account basato su password
Per creare un nuovo account utente con una password, completa i seguenti passaggi nella pagina di registrazione dell'app:
- Quando un nuovo utente si registra utilizzando il modulo di registrazione della tua app, completa tutti i nuovi passaggi di convalida dell'account richiesti dalla tua app, ad esempio verifica che la password del nuovo account sia stata digitata correttamente e soddisfi i tuoi requisiti di complessità.
- Crea un nuovo account passando l'indirizzo email e la password del nuovo utente per
createUserWithEmailAndPassword
:Se è stato creato il nuovo account, l'utente accede automaticamente. Dai un'occhiata alla sezione Passaggi successivi di seguito per ottenere i dettagli dell'utente che ha effettuato l'accesso.Web version 9
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // .. });
Web version 8
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
Questo è anche il punto in cui puoi catturare e gestire gli errori. Per un elenco dei codici di errore, dai un'occhiata a Auth Reference Docs .
Accedi come utente con un indirizzo e-mail e una password
I passaggi per l'accesso di un utente con una password sono simili ai passaggi per la creazione di un nuovo account. Nella pagina di accesso della tua app, procedi come segue:
- Quando un utente accede alla tua app, passa l'indirizzo e-mail e la password dell'utente a
signInWithEmailAndPassword
:Dai un'occhiata alla sezione Passaggi successivi di seguito per ottenere i dettagli dell'utente che ha effettuato l'accesso.Web version 9
import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; });
Web version 8
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
Questo è anche il punto in cui puoi catturare e gestire gli errori. Per un elenco dei codici di errore, dai un'occhiata a Auth Reference Docs .
Prossimi passi
Dopo che un utente accede per la prima volta, un nuovo account utente viene creato e collegato alle credenziali, ovvero il nome utente e la password, il numero di telefono o le informazioni sul provider di autenticazione, con cui l'utente ha effettuato l'accesso. Questo nuovo account viene archiviato come parte del tuo progetto Firebase e può essere utilizzato per identificare un utente in ogni app del tuo progetto, indipendentemente da come l'utente effettua l'accesso.
Nelle tue app, il modo consigliato per conoscere lo stato di autenticazione del tuo utente è impostare un osservatore sull'oggetto
Auth
. È quindi possibile ottenere le informazioni sul profilo di baseUser
dall'oggetto Utente. Vedere Gestisci utenti .Nelle regole di sicurezza del database in tempo reale e dell'archiviazione cloud di Firebase, puoi ottenere l'ID utente univoco dell'utente che ha eseguito l'accesso dalla variabile
auth
e utilizzarlo per controllare a quali dati può accedere un utente.
Puoi consentire agli utenti di accedere alla tua app utilizzando più provider di autenticazione collegando le credenziali del provider di autenticazione a un account utente esistente.
Per disconnettere un utente, chiama signOut
:
Web version 9
import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); signOut(auth).then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });
Web version 8
firebase.auth().signOut().then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });