auth package

Firebase Authentication

Funzioni

Funzione Descrizione
function(app, ...)
getAuth(app) Restituisce l'istanza Auth associata alla FirebaseApp fornita. Se non esiste alcuna istanza, inizializza un'istanza di autenticazione con dipendenze predefinite specifiche della piattaforma.
initializeAuth(app, deps) Inizializza un'istanza Auth con controllo granulare sulle Dipendenze.
funzione(archiviazione, ...)
getReactNativePersistence(storage) Restituisce un oggetto di persistenza che aggrega il valore AsyncStorage importato da react-native o @react-native-community/async-storage e può essere utilizzato nel campo della dipendenza di persistenza in initializeAuth().
function(auth, ...)
applyActionCode(auth, oobCode) Applica un codice di verifica inviato all'utente via email o tramite un altro meccanismo fuori banda.
beforeAuthStateChanged(auth, callback, onAbort) Aggiunge un callback di blocco che viene eseguito prima che una modifica dello stato di autenticazione imposti un nuovo utente.
checkActionCode(auth, oobCode) Controlla un codice di verifica inviato all'utente via email o tramite un altro meccanismo fuori banda.
confirmPasswordReset(auth, oobCode, newPassword) Completa la procedura di reimpostazione della password, fornendo un codice di conferma e una nuova password.
connectAuthEmulator(auth, url, options) Modifica l'istanza Auth in modo che comunichi con l'emulatore di Firebase Auth anziché con i servizi di produzione Firebase Auth.
createUserWithEmailAndPassword(auth, email, password) Crea un nuovo account utente associato all'indirizzo email e alla password specificati.
fetchSignInMethodsForEmail(auth, email) Recupera l'elenco dei possibili metodi di accesso per l'indirizzo email specificato. Questo metodo restituisce un elenco vuoto quando è attiva la [Protezione enumerazione email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) indipendentemente dal numero di metodi di autenticazione disponibili per l'email in questione.
getMultiFactorResolver(auth, error) Fornisce un MultiFactorResolver adatto per il completamento di un flusso a più fattori.
getRedirectResult(auth, resolver) Restituisce UserCredential dal flusso di accesso basato sul reindirizzamento.
initializeRecaptchaConfig(auth) Carica la configurazione reCAPTCHA nell'istanza Auth.
isSignInWithEmailLink(auth, emailLink) Controlla se un link in arrivo è un link di accesso con email idoneo per signInWithEmailLink().
onAuthStateChanged(auth, nextOrObserver, error, completed) Aggiunge un osservatore per le modifiche allo stato di accesso dell'utente.
onIdTokenChanged(auth, nextOrObserver, error, completed) Aggiunge un osservatore per le modifiche al token ID dell'utente che ha eseguito l'accesso.
revokeAccessToken(auth, token) Revoca il token di accesso specificato. Attualmente supporta solo i token di accesso OAuth di Apple.
sendPasswordResetEmail(auth, email, actionCodeSettings) Invia un messaggio e-mail di reimpostazione della password all'indirizzo e-mail specificato. Questo metodo non genera un errore se non esiste un account utente con l'indirizzo email specificato e la [Protezione enumerazione email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) è abilitata.
sendSignInLinkToEmail(auth, email, actionCodeSettings) Invia all'utente un link via email di accesso con l'indirizzo email specificato.
setPersistence(auth, persistence) Modifica il tipo di persistenza nell'istanza Auth per la sessione Auth attualmente salvata e applica questo tipo di persistenza alle richieste di accesso future, compreso l'accesso con le richieste di reindirizzamento.
signInAnonymously(auth) Accedi in modo asincrono come utente anonimo.
signInWithCredential(auth, credential) Accedi in modo asincrono con le credenziali fornite.
signInWithCustomToken(auth, customToken) Accedi in modo asincrono utilizzando un token personalizzato.
signInWithEmailAndPassword(auth, email, password) Accedi in modo asincrono utilizzando un indirizzo email e una password.
signInWithEmailLink(auth, email, emailLink) Accedi in modo asincrono utilizzando un link via email e un link email di accesso.
signInWithPhoneNumber(auth, phoneNumber, appVerifier) Accedi in modo asincrono utilizzando un numero di telefono.
signInWithPopup(auth, provider, resolver) Autentica un client Firebase utilizzando un flusso di autenticazione OAuth basato su popup.
signInWithRedirect(auth, provider, resolver) Autentica un client Firebase utilizzando un flusso di reindirizzamento a pagina intera.
signOut(auth) Disconnette l'utente corrente.
updateCurrentUser(auth, user) Imposta in modo asincrono l'utente fornito come Auth.currentUser nell'istanza Auth.
useDeviceLanguage(auth) Imposta la lingua corrente sulla preferenza predefinita del dispositivo/browser.
validatePassword(auth, password) Convalida la password in base al criterio per le password configurato per il progetto o il tenant.
verifyPasswordResetCode(auth, code) Controlla un codice di reimpostazione della password inviato all'utente via e-mail o altro meccanismo fuori banda.
funzione(link, ...)
parseActionCodeURL(link) Analizza la stringa del link dell'azione email e restituisce un ActionCodeURL, se il link è valido, altrimenti restituisce null.
funzione(utente, ...)
deleteUser(user) Elimina l'utente ed esce dall'account.
getIdToken(user, forceRefresh) Restituisce un token JWT (JSON Web Token) utilizzato per identificare l'utente in un servizio Firebase.
getIdTokenResult(user, forceRefresh) Restituisce un token JWT (JSON Web Token) deserializzato per identificare l'utente in un servizio Firebase.
linkWithCredential(user, credential) Collega l'account utente con le credenziali fornite.
linkWithPhoneNumber(user, phoneNumber, appVerifier) Collega l'account utente al numero di telefono specificato.
linkWithPopup(user, provider, resolver) Collega il provider autenticato all'account utente utilizzando un flusso OAuth basato su popup.
linkWithRedirect(user, provider, resolver) Collega OAuthProvider all'account utente utilizzando un flusso di reindirizzamento a pagina intera.
multiFactor(user) Il valore di MultiFactorUser corrispondente all'utente.
reauthenticateWithCredential(user, credential) Esegue nuovamente l'autenticazione di un utente utilizzando una nuova credenziale.
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) Esegue nuovamente l'autenticazione di un utente utilizzando una nuova credenziale del telefono.
reauthenticateWithPopup(user, provider, resolver) Riautentica l'utente corrente con il OAuthProvider specificato utilizzando un flusso OAuth basato su popup.
reauthenticateWithRedirect(user, provider, resolver) Riautentica l'utente corrente con il valore OAuthProvider specificato utilizzando un flusso di reindirizzamento a pagina intera.
reload(utente) Ricarica i dati dell'account utente, se è stato eseguito l'accesso.
sendEmailVerification(user, actionCodeSettings) Invia un'email di verifica a un utente.
unlink(utente, providerId) Scollega un fornitore da un account utente.
updateEmail(user, newEmail) Consente di aggiornare l'indirizzo email dell'utente.
updatePassword(user, newPassword) Aggiorna la password dell'utente.
updatePhoneNumber(user, credential) Aggiorna il numero di telefono dell'utente.
updateProfile(user, { displayName, photoURL: photoUrl }) Aggiorna i dati del profilo di un utente.
verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings) Invia un'email di verifica a un nuovo indirizzo email.
function(userCredential, ...)
getAdditionalUserInfo(userCredential) Estrae AdditionalUserInfo specifiche del provider per la credenziale specificata.

Corsi

Classe Descrizione
ActionCodeURL Una classe di utilità per analizzare gli URL di azioni email come la reimpostazione password, la verifica email, l'accesso tramite link email e così via.
AuthCredential Interfaccia che rappresenta le credenziali restituite da un AuthProvider.
EmailAuthCredential Interfaccia che rappresenta le credenziali restituite da EmailAuthProvider per ProviderId.PASSWORD
EmailAuthProvider Provider per la generazione di EmailAuthCredential.
FacebookAuthProvider Provider per generare un OAuthCredential per ProviderId.FACEBOOK.
GithubAuthProvider Provider per generare un OAuthCredential per ProviderId.GITHUB.
GoogleAuthProvider Provider per generare una OAuthCredential per ProviderId.GOOGLE.
OAuthCredential Rappresenta le credenziali OAuth restituite da un OAuthProvider.
OAuthProvider Provider per la generazione di OAuthCredential generiche.
PhoneAuthCredential Rappresenta le credenziali restituite da PhoneAuthProvider.
PhoneAuthProvider Provider per la generazione di una PhoneAuthCredential.
PhoneMultiFactorGenerator Provider per la generazione di un valore PhoneMultiFactorAssertion.
RecaptchaVerifier Uno strumento di verifica delle applicazioni basato su reCAPTCHA.
SAMLAuthProvider Un AuthProvider per SAML.
TotpMultiFactorGenerator Provider per la generazione di un valore TotpMultiFactorAssertion.
TotpSecret Provider per la generazione di un valore TotpMultiFactorAssertion.Archivia la chiave segreta condivisa e altri parametri per generare OTP basate sul tempo. Implementa metodi per recuperare la chiave segreta condivisa e generare un URL del codice QR.
TwitterAuthProvider Provider per generare un OAuthCredential per ProviderId.TWITTER.

Interfacce

Interfaccia Descrizione
ActionCodeInfo Una risposta da checkActionCode().
ActionCodeSettings Un'interfaccia che definisce l'URL di continua/stato obbligatorio con identificatori bundle Android e iOS facoltativi.
AdditionalUserInfo Una struttura contenente informazioni utente aggiuntive da un provider di identità federato.
ApplicationVerifier Uno strumento di verifica per la verifica del dominio e la prevenzione degli abusi.
Autorizzazione Interfaccia che rappresenta il servizio Firebase Auth.
AuthError Interfaccia per un errore Auth.
AuthErrorMap Una mappatura dei codici di errore ai messaggi di errore.
AuthProvider Interfaccia che rappresenta un provider di autenticazione, utilizzata per facilitare la creazione di AuthCredential.
AuthSettings Interfaccia che rappresenta le impostazioni di un'istanza di Auth.
Configurazione Interfaccia che rappresenta la configurazione di Auth.
ConfirmationResult Il risultato dell'accesso, del collegamento o di nuova autenticazione della chiamata tramite un numero di telefono.
Dipendenze Le dipendenze che possono essere utilizzate per inizializzare un'istanza di Auth.
EmulatorConfig Configurazione dell'emulatore di Firebase Authentication.
IdTokenResult Interfaccia che rappresenta il risultato del token ID ottenuto da User.getIdTokenResult().
MultiFactorAssertion La classe base per rivendicare la proprietà di un secondo fattore.
MultiFactorError L'errore viene generato quando l'utente deve fornire un secondo fattore per accedere correttamente.
MultiFactorInfo Una struttura contenente le informazioni di un'entità con un secondo fattore.
MultiFactorResolver La classe utilizzata per facilitare il recupero da MultiFactorError quando un utente deve fornire un secondo fattore per accedere.
MultiFactorSession Un'interfaccia che definisce l'oggetto sessione a più fattori utilizzato per registrare un secondo fattore su un utente o per facilitare l'accesso a un utente registrato con un secondo fattore.
MultiFactorUser Un'interfaccia che definisce le proprietà e le operazioni correlate all'autenticazione multi-fattore relative a un utente.
OAuthCredentialOptions Definisce le opzioni per l'inizializzazione di una OAuthCredential.
ParsedToken Interfaccia che rappresenta un token ID analizzato.
PasswordPolicy Una struttura che specifica i requisiti dei criteri relativi alle password.
PasswordValidationStatus Una struttura che indica quali requisiti delle norme relative alle password sono stati soddisfatti o violati e quali sono.
Persistenza Un'interfaccia che copre i possibili tipi di meccanismi di persistenza.
PhoneMultiFactorAssertion Il corso per rivendicare la proprietà di un secondo fattore relativo a un telefono. Fornito da PhoneMultiFactorGenerator.assertion().
PhoneMultiFactorEnrollInfoOptions Opzioni utilizzate per registrare un secondo fattore.
PhoneMultiFactorInfo La sottoclasse dell'interfaccia MultiFactorInfo per i fattori secondari del numero di telefono. Il factorId di questo secondo fattore è FactorId.PHONE.
PhoneMultiFactorSignInInfoOptions Opzioni utilizzate per accedere con un secondo fattore.
PhoneSingleFactorInfoOptions Opzioni utilizzate per l'accesso a un fattore.
PopupRedirectResolver Un resolver utilizzato per gestire operazioni specifiche del DOM come signInWithPopup() o signInWithRedirect().
ReactNativeAsyncStorage Interfaccia per un elemento AsyncStorage fornito.
RecaptchaParameters Interfaccia che rappresenta i parametri reCAPTCHA.Consulta i [documenti reCAPTCHA](https://developers.google.com/recaptcha/docs/display#render_param) per l'elenco dei parametri accettati. Sono accettati tutti i parametri, tranne sitekey: Firebase Auth esegue il provisioning di un reCAPTCHA per ogni progetto e configura la chiave di sito al momento del rendering.Per un reCAPTCHA invisibile, imposta la chiave size su invisible.
TotpMultiFactorAssertion La classe per rivendicare la proprietà di un secondo fattore TOTP. Fornito da TotpMultiFactorGenerator.assertionForEnrollment() e TotpMultiFactorGenerator.assertionForSignIn().
TotpMultiFactorInfo La sottoclasse dell'interfaccia MultiFactorInfo per i fattori di secondo grado TOTP. Il factorId di questo secondo fattore è FactorId.TOTP.
User Un account utente.
UserCredential Una struttura contenente un Utente, l'OperationType e l'ID provider.
UserInfo Informazioni del profilo utente, visibili solo alle app del progetto Firebase.
UserMetadata Interfaccia che rappresenta i metadati di un utente.

Variabili

Variabile Descrizione
ActionCodeOperation Un'enumerazione dei possibili tipi di azioni email.
AuthErrorCodes Una mappa di potenziali codici di errore Auth, per un confronto più semplice con gli errori generati dall'SDK.
browserLocalPersistence Un'implementazione della persistenza di tipo LOCAL utilizzando localStorage per l'archiviazione sottostante.
browserPopupRedirectResolver Un'implementazione di PopupRedirectResolver adatta per le applicazioni basate su browser.
browserSessionPersistence Un'implementazione della persistenza di SESSION utilizzando sessionStorage per lo spazio di archiviazione sottostante.
cordovaPopupRedirectResolver Un'implementazione di PopupRedirectResolver adatta per le applicazioni basate su Cordova.
debugErrorMap Una mappa degli errori dettagliata con descrizioni dettagliate per la maggior parte dei codici di errore.Vedi la discussione su AuthErrorMap
FactorId Un'enumerazione di fattori utilizzabili per l'autenticazione multifattore.
indexedDBLocalPersistence Un'implementazione della persistenza di tipo LOCAL utilizzando indexedDB per l'archiviazione sottostante.
inMemoryPersistence Un'implementazione di persistenza di tipo "NESSUNO".
OperationType Enumerazione dei tipi di operazioni supportati.
prodErrorMap Una mappa degli errori minima con la rimozione di tutti i messaggi di errore dettagliati.Vedi la discussione su AuthErrorMap
ProviderId Enumerazione dei provider supportati.
SignInMethod Enumerazione dei metodi di accesso supportati.

Digita alias

Digita alias Descrizione
CustomParameters Mappa dei parametri personalizzati OAuth.
NextOrObserver Digita la definizione di un callback di evento.
PhoneInfoOptions Le informazioni necessarie per verificare la proprietà di un numero di telefono.
UserProfile Profilo utente utilizzato in AdditionalUserInfo.

funzione(app, ...)

getAuth(app)

Restituisce l'istanza Auth associata alla FirebaseApp fornita. Se non esiste alcuna istanza, inizializza un'istanza di autenticazione con dipendenze predefinite specifiche della piattaforma.

Firma:

export declare function getAuth(app?: FirebaseApp): Auth;

Parametri

Parametro Tipo Descrizione
app FirebaseApp L'app Firebase.

Resi:

Autorizzazione

initializeAuth(app, deps)

Inizializza un'istanza Auth con controllo granulare sulle Dipendenze.

Questa funzione consente un maggiore controllo sull'istanza Auth rispetto a getAuth(). getAuth usa valori predefiniti specifici della piattaforma per fornire le dipendenze. In generale, getAuth è il modo più semplice per inizializzare Auth e funziona per la maggior parte dei casi d'uso. Usa initializeAuth se hai bisogno di controllare quale livello di persistenza viene utilizzato oppure per ridurre al minimo le dimensioni del bundle se non utilizzi signInWithPopup o signInWithRedirect.

Ad esempio, se la tua app usa solo account anonimi e vuoi salvare solo gli account per la sessione corrente, inizializza Auth con:

const auth = initializeAuth(app, {
  persistence: browserSessionPersistence,
  popupRedirectResolver: undefined,
});

Firma:

export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;

Parametri

Parametro Tipo Descrizione
app FirebaseApp
deps Dipendenze

Resi:

Autorizzazione

funzione(archiviazione, ...)

getReactNativePersistence(storage)

Restituisce un oggetto di persistenza che aggrega i dati di AsyncStorage importati da react-native o @react-native-community/async-storage e può essere utilizzato nel campo delle dipendenze di persistenza in initializeAuth().

Firma:

export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;

Parametri

Parametro Tipo Descrizione
archiviazione ReactNativeAsyncStorage

Resi:

Persistenza

funzione(autenticazione, ...)

applyActionCode(auth, oobCode)

Applica un codice di verifica inviato all'utente via email o tramite un altro meccanismo fuori banda.

Firma:

export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
oobCode stringa Un codice di verifica inviato all'utente.

Resi:

Promise<void>

beforeAuthStateChanged(auth, callback, onAbort)

Aggiunge un callback di blocco che viene eseguito prima che una modifica dello stato di autenticazione imposti un nuovo utente.

Firma:

export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
callback (user: User | null) => void | Promise<void> il callback viene attivato prima che venga impostato il nuovo valore utente. Se viene visualizzato questo messaggio, l'utente non può essere configurato.
onAbort () => void viene attivato se viene generato un callback beforeAuthStateChanged() successivo, permettendoti di annullare eventuali effetti collaterali.

Resi:

Annulla iscrizione

checkActionCode(auth, oobCode)

Controlla un codice di verifica inviato all'utente via email o tramite un altro meccanismo fuori banda.

Firma:

export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
oobCode stringa Un codice di verifica inviato all'utente.

Resi:

Promise<ActionCodeInfo>

metadati relativi al codice.

confirmPasswordReset(auth, oobCode, newPassword)

Completa la procedura di reimpostazione della password, fornendo un codice di conferma e una nuova password.

Firma:

export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
oobCode stringa Un codice di conferma inviato all'utente.
newPassword stringa La nuova password.

Resi:

Promise<void>

connectAuthEmulator(auth, url, options)

Modifica l'istanza Auth in modo che comunichi con l'emulatore di Firebase Auth anziché con i servizi di produzione Firebase Auth.

Deve essere chiamato in modo sincrono immediatamente dopo la prima chiamata a initializeAuth(). Non utilizzare con credenziali di produzione poiché il traffico dell'emulatore non è criptato.

Firma:

export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
    disableWarnings: boolean;
}): void;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
url stringa L'URL su cui è in esecuzione l'emulatore (ad esempio "http://localhost:9099").
opzioni del modello. { disableWarnings: boolean; } Campo facoltativo. Il valore predefinito di options.disableWarnings è false. Impostala su true per disattivare il banner di avviso allegato al DOM.

Resi:

void

Esempio

connectAuthEmulator(auth, 'http://127.0.0.1:9099', { disableWarnings: true });

createUserWithEmailAndPassword(auth, email, password)

Crea un nuovo account utente associato all'indirizzo email e alla password specificati.

Una volta creato l'account utente, questo utente accederà anche alla tua applicazione.

La creazione di un account utente può non riuscire se l'account esiste già o se la password non è valida.

Questo metodo non è supportato sulle istanze Auth create con FirebaseServerApp.

Firma:

export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
email stringa L'indirizzo email dell'utente.
password stringa La password scelta dall'utente.

Resi:

Promise<UserCredential>

fetchSignInMethodsForEmail(auth, email)

Recupera l'elenco dei possibili metodi di accesso per l'indirizzo email specificato. Questo metodo restituisce un elenco vuoto quando è attiva la [Protezione enumerazione email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) indipendentemente dal numero di metodi di autenticazione disponibili per l'email in questione.

Questo è utile per differenziare i metodi di accesso per lo stesso provider, ad esempio: EmailAuthProvider, che prevede due metodi di accesso: SignInMethod.EMAIL_PASSWORD e SignInMethod.EMAIL_LINK.

Firma:

export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
email stringa L'indirizzo email dell'utente.Obsoleto. La migrazione da questo metodo è consigliata come best practice per la sicurezza. Scopri di più nella documentazione di Identity Platform per la [protezione dell'enumerazione delle email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection).

Resi:

Promessa<string[]>

getMultiFactorResolver(auth, error)

Fornisce un MultiFactorResolver adatto per il completamento di un flusso a più fattori.

Firma:

export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
errore MultiFactorError Il campo MultiFactorError è stato generato durante un'operazione di accesso o di riautenticazione.

Resi:

MultiFactorResolver

getRedirectResult(auth, resolver)

Restituisce UserCredential dal flusso di accesso basato sul reindirizzamento.

Se l'accesso è riuscito, viene restituito l'utente che ha eseguito l'accesso. Se l'accesso non è riuscito, l'operazione non riesce e viene visualizzato un errore. Se non è stata richiamata alcuna operazione di reindirizzamento, restituisce null.

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promise<UserCredential | null>

Esempio

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a Facebook Access Token.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;

initializeRecaptchaConfig(auth)

Carica la configurazione reCAPTCHA nell'istanza Auth.

In questo modo verrà caricata nella sessione di autenticazione corrente la configurazione reCAPTCHA, che indica se è necessario attivare il flusso di verifica reCAPTCHA per ogni provider di autenticazione.

Se inizializzaizeRecaptchaConfig() non viene richiamato, il flusso di autenticazione verrà sempre avviato senza verifica reCAPTCHA. Se il provider è configurato per richiedere la verifica reCAPTCHA, l'SDK caricherà in modo trasparente la configurazione reCAPTCHA e riavvierà i flussi di autenticazione.

Pertanto, chiamando questo metodo facoltativo, ridurrai la latenza dei flussi di autenticazione futuri. Il caricamento anticipato della configurazione reCAPTCHA migliorerà anche l'indicatore raccolto da reCAPTCHA.

Questo metodo non funziona in un ambiente Node.js.

Firma:

export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.

Resi:

Promise<void>

Esempio

initializeRecaptchaConfig(auth);

Controlla se un link in arrivo è un link di accesso con email idoneo per signInWithEmailLink().

Firma:

export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
emailLink stringa Il link inviato all'indirizzo email dell'utente.

Resi:

boolean

onAuthStateChanged(auth, nextOrObserver, error, completed)

Aggiunge un osservatore per le modifiche allo stato di accesso dell'utente.

Per mantenere il comportamento precedente, vedi onIdTokenChanged().

Firma:

export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
nextOrObserver NextOrObserver<Utente> il callback viene attivato al cambiamento.
errore ErrorFn Deprecato. Questo callback non viene mai attivato. Gli errori di accesso/uscita possono essere rilevati nelle promesse restituite dalle funzioni di accesso/uscita.
completati CompleteFn Deprecato. Questo callback non viene mai attivato.

Resi:

Annulla iscrizione

onIdTokenChanged(auth, nextOrObserver, error, completed)

Aggiunge un osservatore per le modifiche al token ID dell'utente che ha eseguito l'accesso.

Sono inclusi gli eventi di accesso, uscita e aggiornamento dei token. Questa operazione non verrà attivata automaticamente alla scadenza del token ID. Utilizza User.getIdToken() per aggiornare il token ID.

Firma:

export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
nextOrObserver NextOrObserver<Utente> il callback viene attivato al cambiamento.
errore ErrorFn Deprecato. Questo callback non viene mai attivato. Gli errori di accesso/uscita possono essere rilevati nelle promesse restituite dalle funzioni di accesso/uscita.
completati CompleteFn Deprecato. Questo callback non viene mai attivato.

Resi:

Annulla iscrizione

revokeAccessToken(auth, token)

Revoca il token di accesso specificato. Attualmente supporta solo i token di accesso OAuth di Apple.

Firma:

export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
token stringa Il token di accesso OAuth di Apple.

Resi:

Promise<void>

sendPasswordResetEmail(auth, email, actionCodeSettings)

Invia un messaggio e-mail di reimpostazione della password all'indirizzo e-mail specificato. Questo metodo non genera un errore se non esiste un account utente con l'indirizzo email specificato e la [Protezione enumerazione email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) è abilitata.

Per completare la reimpostazione della password, chiama confirmPasswordReset() con il codice fornito nell'email inviata all'utente, insieme alla nuova password specificata dall'utente.

Firma:

export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
email stringa L'indirizzo email dell'utente.
actionCodeSettings ActionCodeSettings L'opzione ActionCodeSettings.

Resi:

Promise<void>

Esempio

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendPasswordResetEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain code from user.
await confirmPasswordReset('user@example.com', code);

sendSignInLinkToEmail(auth, email, actionCodeSettings)

Invia all'utente un link via email di accesso con l'indirizzo email specificato.

L'operazione di accesso deve essere sempre completata all'interno dell'app, a differenza di altre azioni email fuori banda (reimpostazione della password e verifiche dell'email). Questo perché, alla fine del flusso, l'utente deve aver eseguito l'accesso e il suo stato di autorizzazione è rimasto all'interno dell'app.

Per completare l'accesso con il link via email, chiama signInWithEmailLink() con l'indirizzo email e il link forniti nell'email inviata all'utente.

Firma:

export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione
email stringa L'indirizzo email dell'utente.
actionCodeSettings ActionCodeSettings L'opzione ActionCodeSettings.

Resi:

Promise<void>

Esempio

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

setPersistence(auth, persistence)

Modifica il tipo di persistenza nell'istanza Auth per la sessione Auth attualmente salvata e applica questo tipo di persistenza alle richieste di accesso future, compreso l'accesso con le richieste di reindirizzamento.

In questo modo, per l'utente che esegue l'accesso è più semplice specificare se la sessione deve essere memorizzata o meno. Inoltre, semplifica il mancato salvataggio dello stato Auth per le applicazioni condivise da altri utenti o che contengono dati sensibili.

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
persistenza Persistenza La persistenza da utilizzare.

Resi:

Promise<void>

Un Promise che si risolve una volta completata la modifica della persistenza

Esempio

setPersistence(auth, browserSessionPersistence);

signInAnonymously(auth)

Accedi in modo asincrono come utente anonimo.

Se è già presente un utente anonimo che ha eseguito l'accesso, verrà restituito questo utente, altrimenti verrà creata e restituita una nuova identità utente anonima.

Questo metodo non è supportato dalle istanze Auth create con FirebaseServerApp.

Firma:

export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.

Resi:

Promise<UserCredential>

signInWithCredential(auth, credential)

Accedi in modo asincrono con le credenziali fornite.

Per generare la credenziale è possibile utilizzare un AuthProvider.

Questo metodo non è supportato dalle istanze Auth create con FirebaseServerApp.

Firma:

export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
credenziale AuthCredential La credenziale di autenticazione.

Resi:

Promise<UserCredential>

signInWithCustomToken(auth, customToken)

Accedi in modo asincrono utilizzando un token personalizzato.

I token personalizzati vengono utilizzati per integrare Firebase Auth con i sistemi di autenticazione esistenti e devono essere generati da un backend di autenticazione utilizzando il metodo createCustomToken in SDK Admin .

Non riesce e restituisce un errore se il token non è valido, è scaduto o non è accettato dal servizio Firebase Auth.

Questo metodo non è supportato dalle istanze Auth create con FirebaseServerApp.

Firma:

export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
customToken stringa Il token personalizzato con cui accedere.

Resi:

Promise<UserCredential>

signInWithEmailAndPassword(auth, email, password)

Accedi in modo asincrono utilizzando un indirizzo email e una password.

Non è possibile generare un errore se l'indirizzo email e la password non corrispondono. Quando la [Protezione enumerazione email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) è abilitata, questo metodo ha esito negativo con "auth/invalid-credential" in caso di indirizzo email o password non validi.

Questo metodo non è supportato sulle istanze Auth create con FirebaseServerApp.

Firma:

export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
email stringa L'indirizzo email dell'utente.
password stringa La password degli utenti.

Resi:

Promise<UserCredential>

Accedi in modo asincrono utilizzando un link via email e un link email di accesso.

Se non viene passato alcun link, il link viene dedotto dall'URL corrente.

Non viene restituito un errore se l'indirizzo email non è valido o se l'OTP nel link dell'email scade.

Questo metodo non è supportato dalle istanze Auth create con FirebaseServerApp.

Firma:

export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
email stringa L'indirizzo email dell'utente.
emailLink stringa Il link inviato all'indirizzo email dell'utente.

Resi:

Promise<UserCredential>

Esempio

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

signInWithPhoneNumber(auth, phoneNumber, appVerifier)

Accedi in modo asincrono utilizzando un numero di telefono.

Questo metodo invia un codice tramite SMS al numero di telefono specificato e restituisce un valore ConfirmationResult. Dopo che l'utente ha fornito il codice inviato al proprio telefono, chiama ConfirmationResult.confirm() con il codice per eseguire l'accesso.

Per prevenire gli abusi, questo metodo richiede anche un ApplicationVerifier. Questo SDK include un'implementazione basata su reCAPTCHA, RecaptchaVerifier. Questa funzione può funzionare su altre piattaforme che non supportano RecaptchaVerifier (come React Native), ma devi utilizzare un'implementazione ApplicationVerifier di terze parti.

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
phoneNumber stringa Il numero di telefono dell'utente nel formato E.164 (ad es. +16505550101).
appVerifier ApplicationVerifier L'elemento ApplicationVerifier.

Resi:

Promise<ConfirmationResult>

Esempio

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain a verificationCode from the user.
const credential = await confirmationResult.confirm(verificationCode);

signInWithPopup(auth, provider, resolver)

Autentica un client Firebase utilizzando un flusso di autenticazione OAuth basato su popup.

Se l'operazione va a buon fine, restituisce l'utente che ha eseguito l'accesso insieme alla credenziale del provider. Se l'accesso non è riuscito, restituisce un oggetto contenente ulteriori informazioni sull'errore.

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
provider AuthProvider Il provider da autenticare. Il provider deve essere un OAuthProvider. I provider non OAuth come EmailAuthProvider restituiranno un errore.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promise<UserCredential>

Esempio

// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);

// The signed-in user info.
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;

signInWithRedirect(auth, provider, resolver)

Autentica un client Firebase utilizzando un flusso di reindirizzamento a pagina intera.

Per gestire i risultati e gli errori di questa operazione, consulta getRedirectResult(). Segui le best practice quando utilizzi signInWithRedirect().

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
provider AuthProvider Il provider da autenticare. Il provider deve essere un OAuthProvider. I provider non OAuth come EmailAuthProvider restituiranno un errore.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promessa<mai>

Esempio

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a Facebook Access Token.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;

signOut(auth)

Disconnette l'utente corrente.

Questo metodo non è supportato dalle istanze Auth create con FirebaseServerApp.

Firma:

export declare function signOut(auth: Auth): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.

Resi:

Promise<void>

updateCurrentUser(auth, user)

Imposta in modo asincrono l'utente fornito come Auth.currentUser nell'istanza Auth.

Verrà creata una nuova copia dell'istanza dell'utente fornita e impostata come currentUser.

In questo modo verranno attivati i listener onAuthStateChanged() e onIdTokenChanged() come altri metodi di accesso.

L'operazione non riesce e viene restituito un errore se l'utente da aggiornare appartiene a un altro progetto Firebase.

Questo metodo non è supportato dalle istanze Auth create con FirebaseServerApp.

Firma:

export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
utente Utente | null Il nuovo Utente.

Resi:

Promise<void>

useDeviceLanguage(auth)

Imposta la lingua corrente sulla preferenza predefinita del dispositivo/browser.

Firma:

export declare function useDeviceLanguage(auth: Auth): void;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.

Resi:

void

validatePassword(auth, password)

Convalida la password in base al criterio per le password configurato per il progetto o il tenant.

Se nell'istanza Auth non è impostato alcun ID tenant, questo metodo utilizzerà il criterio per le password configurato per il progetto. In caso contrario, questo metodo utilizzerà il criterio configurato per il tenant. Se non è stato configurato un criterio per le password, verrà utilizzato il criterio predefinito configurato per tutti i progetti.

Se un flusso di autorizzazione non va a buon fine perché una password inviata non soddisfa i requisiti dei criteri relativi alle password e questo metodo è stato precedentemente chiamato, questo metodo utilizzerà il criterio più recente disponibile quando viene richiamato.

Firma:

export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
password stringa La password da convalidare.

Resi:

Promise<PasswordValidationStatus>

Esempio

validatePassword(auth, 'some-password');

verifyPasswordResetCode(auth, code)

Controlla un codice di reimpostazione della password inviato all'utente via e-mail o altro meccanismo fuori banda.

Firma:

export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;

Parametri

Parametro Tipo Descrizione
auth Autorizzazione L'istanza di Auth.
codice stringa Un codice di verifica inviato all'utente.

Resi:

Promessa<string>

L'indirizzo email dell'utente, se valido.

parseActionCodeURL(link)

Analizza la stringa del link dell'azione email e restituisce un ActionCodeURL, se il link è valido, altrimenti restituisce null.

Firma:

export declare function parseActionCodeURL(link: string): ActionCodeURL | null;

Parametri

Parametro Tipo Descrizione
link stringa

Resi:

ActionCodeURL | null

funzione(utente, ...)

deleteUser(user)

Elimina l'utente ed esce dall'account.

Firma:

export declare function deleteUser(user: User): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.

Resi:

Promise<void>

getIdToken(user, forceRefresh)

Restituisce un token JWT (JSON Web Token) utilizzato per identificare l'utente in un servizio Firebase.

Restituisce il token corrente se non è scaduto o se non scade nei cinque minuti successivi. In caso contrario, il token verrà aggiornato e ne verrà restituito uno nuovo.

Firma:

export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
forceRefresh boolean Forza l'aggiornamento indipendentemente dalla scadenza del token.

Resi:

Promessa<string>

getIdTokenResult(user, forceRefresh)

Restituisce un token JWT (JSON Web Token) deserializzato per identificare l'utente in un servizio Firebase.

Restituisce il token corrente se non è scaduto o se non scade nei cinque minuti successivi. In caso contrario, il token verrà aggiornato e ne verrà restituito uno nuovo.

Firma:

export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
forceRefresh boolean Forza l'aggiornamento indipendentemente dalla scadenza del token.

Resi:

Promise<IdTokenResult>

linkWithCredential(user, credential)

Collega l'account utente con le credenziali fornite.

Per generare la credenziale è possibile utilizzare un AuthProvider.

Firma:

export declare function linkWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
credenziale AuthCredential La credenziale di autenticazione.

Resi:

Promise<UserCredential>

linkWithPhoneNumber(user, phoneNumber, appVerifier)

Collega l'account utente al numero di telefono specificato.

Questo metodo non funziona in un ambiente Node.js.

Firma:

export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
phoneNumber stringa Il numero di telefono dell'utente nel formato E.164 (ad es. +16505550101).
appVerifier ApplicationVerifier L'elemento ApplicationVerifier.

Resi:

Promise<ConfirmationResult>

linkWithPopup(user, provider, resolver)

Collega il provider autenticato all'account utente utilizzando un flusso OAuth basato su popup.

Se il collegamento ha esito positivo, il risultato restituito conterrà l'utente e la credenziale del provider.

Questo metodo non funziona in un ambiente Node.js.

Firma:

export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
provider AuthProvider Il provider da autenticare. Il provider deve essere un OAuthProvider. I provider non OAuth come EmailAuthProvider restituiranno un errore.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promise<UserCredential>

Esempio

// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a popup.
const provider = new FacebookAuthProvider();
await linkWithPopup(result.user, provider);

linkWithRedirect(user, provider, resolver)

Collega OAuthProvider all'account utente utilizzando un flusso di reindirizzamento a pagina intera.

Per gestire i risultati e gli errori di questa operazione, consulta getRedirectResult(). Segui le best practice quando utilizzi linkWithRedirect().

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
provider AuthProvider Il provider da autenticare. Il provider deve essere un OAuthProvider. I provider non OAuth come EmailAuthProvider restituiranno un errore.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promessa<mai>

Esempio

// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a redirect.
const provider = new FacebookAuthProvider();
await linkWithRedirect(result.user, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);

multiFactor(user)

Il valore di MultiFactorUser corrispondente all'utente.

Viene utilizzato per accedere a tutte le proprietà e le operazioni a più fattori relative all'utente.

Firma:

export declare function multiFactor(user: User): MultiFactorUser;

Parametri

Parametro Tipo Descrizione
utente User L'utente.

Resi:

MultiFactorUser

reauthenticateWithCredential(user, credential)

Esegue nuovamente l'autenticazione di un utente utilizzando una nuova credenziale.

Da utilizzare prima di operazioni come updatePassword() che richiedono i token di tentativi di accesso recenti. Questo metodo può essere utilizzato per eseguire il ripristino in seguito a un errore CREDENTIAL_TOO_OLD_LOGIN_AGAIN o TOKEN_EXPIRED.

Questo metodo non è supportato per gli utenti User a cui è stato eseguito l'accesso tramite le istanze Auth create con FirebaseServerApp.

Firma:

export declare function reauthenticateWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
credenziale AuthCredential La credenziale di autenticazione.

Resi:

Promise<UserCredential>

reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier)

Esegue nuovamente l'autenticazione di un utente utilizzando una nuova credenziale del telefono.

Da utilizzare prima di operazioni come updatePassword() che richiedono i token di tentativi di accesso recenti.

Questo metodo non funziona in un ambiente Node.js o su qualsiasi User con accesso tramite istanze Auth create con FirebaseServerApp.

Firma:

export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
phoneNumber stringa Il numero di telefono dell'utente nel formato E.164 (ad es. +16505550101).
appVerifier ApplicationVerifier L'elemento ApplicationVerifier.

Resi:

Promise<ConfirmationResult>

reauthenticateWithPopup(user, provider, resolver)

Riautentica l'utente corrente con il OAuthProvider specificato utilizzando un flusso OAuth basato su popup.

Se la riautenticazione ha esito positivo, il risultato restituito conterrà l'utente e la credenziale del provider.

Questo metodo non funziona in un ambiente Node.js o su qualsiasi User con accesso tramite istanze Auth create con FirebaseServerApp.

Firma:

export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
provider AuthProvider Il provider da autenticare. Il provider deve essere un OAuthProvider. I provider non OAuth come EmailAuthProvider restituiranno un errore.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promise<UserCredential>

Esempio

// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// Reauthenticate using a popup.
await reauthenticateWithPopup(result.user, provider);

reauthenticateWithRedirect(user, provider, resolver)

Riautentica l'utente corrente con il valore OAuthProvider specificato utilizzando un flusso di reindirizzamento a pagina intera.

Per gestire i risultati e gli errori di questa operazione, fai riferimento a getRedirectResult(). Segui le best practice quando utilizzi reauthenticateWithRedirect().

Questo metodo non funziona in un ambiente Node.js o con istanze di Auth create con FirebaseServerApp.

Firma:

export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
provider AuthProvider Il provider da autenticare. Il provider deve essere un OAuthProvider. I provider non OAuth come EmailAuthProvider restituiranno un errore.
resolver PopupRedirectResolver Un'istanza di PopupRedirectResolver, facoltativa se già fornita ad initializeAuth() o fornita da getAuth().

Resi:

Promessa<mai>

Esempio

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
const result = await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
// Reauthenticate using a redirect.
await reauthenticateWithRedirect(result.user, provider);
// This will again trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);

ricarica(utente)

Ricarica i dati dell'account utente, se è stato eseguito l'accesso.

Firma:

export declare function reload(user: User): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.

Resi:

Promise<void>

sendEmailVerification(user, actionCodeSettings)

Invia un'email di verifica a un utente.

Il processo di verifica viene completato chiamando applyActionCode().

Firma:

export declare function sendEmailVerification(user: User, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
actionCodeSettings ActionCodeSettings | null L'opzione ActionCodeSettings.

Resi:

Promise<void>

Esempio

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendEmailVerification(user, actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);

Scollega un fornitore da un account utente.

Firma:

export declare function unlink(user: User, providerId: string): Promise<User>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
providerId stringa Il provider da scollegare.

Resi:

Promessa<Utente>

updateEmail(user, newEmail)

Consente di aggiornare l'indirizzo email dell'utente.

Verrà inviata un'email all'indirizzo email originale (se impostato) che consentirà di revocare la modifica dell'indirizzo email per evitare la compromissione dell'account.

Questo metodo non è supportato per gli utenti User a cui è stato eseguito l'accesso tramite le istanze Auth create con FirebaseServerApp.

Firma:

export declare function updateEmail(user: User, newEmail: string): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
newEmail stringa Il nuovo indirizzo email.Genera l'errore "auth/operation-not-allowed" quando è abilitata la funzionalità [Protezione enumerazione email](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection). Deprecato: utilizza verifyBeforeUpdateEmail().

Resi:

Promise<void>

updatePassword(user, newPassword)

Aggiorna la password dell'utente.

Firma:

export declare function updatePassword(user: User, newPassword: string): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
newPassword stringa La nuova password.

Resi:

Promise<void>

updatePhoneNumber(user, credential)

Aggiorna il numero di telefono dell'utente.

Questo metodo non funziona in un ambiente Node.js o su qualsiasi User con accesso tramite istanze Auth create con FirebaseServerApp.

Firma:

export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
credenziale PhoneAuthCredential Una credenziale che autentica il nuovo numero di telefono.

Resi:

Promise<void>

Esempio

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
// Obtain the verificationCode from the user.
const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
await updatePhoneNumber(user, phoneCredential);

updateProfile(user, { displayName, photoURL: photoUrl })

Aggiorna i dati del profilo di un utente.

Firma:

export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
    displayName?: string | null;
    photoURL?: string | null;
}): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
{ displayName, photoURL: photoUrl } { displayName?: string | null; photoURL?: string | null; }

Resi:

Promise<void>

verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings)

Invia un'email di verifica a un nuovo indirizzo email.

Dopo la verifica, l'indirizzo e-mail dell'utente verrà aggiornato al nuovo indirizzo.

Se hai un gestore di azioni email personalizzato, puoi completare la procedura di verifica chiamando il metodo applyActionCode().

Firma:

export declare function verifyBeforeUpdateEmail(user: User, newEmail: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

Parametri

Parametro Tipo Descrizione
utente User L'utente.
newEmail stringa Il nuovo indirizzo email da verificare prima dell'aggiornamento.
actionCodeSettings ActionCodeSettings | null L'opzione ActionCodeSettings.

Resi:

Promise<void>

Esempio

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await verifyBeforeUpdateEmail(user, 'newemail@example.com', actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);

funzione(credenzialeutente, ...)

getAdditionalUserInfo(userCredential)

Estrae AdditionalUserInfo specifiche del provider per la credenziale specificata.

Firma:

export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;

Parametri

Parametro Tipo Descrizione
userCredential UserCredential La credenziale dell'utente.

Resi:

AdditionalUserInfo | null

ActionCodeOperation

Un'enumerazione dei possibili tipi di azioni email.

Firma:

ActionCodeOperation: {
    readonly EMAIL_SIGNIN: "EMAIL_SIGNIN";
    readonly PASSWORD_RESET: "PASSWORD_RESET";
    readonly RECOVER_EMAIL: "RECOVER_EMAIL";
    readonly REVERT_SECOND_FACTOR_ADDITION: "REVERT_SECOND_FACTOR_ADDITION";
    readonly VERIFY_AND_CHANGE_EMAIL: "VERIFY_AND_CHANGE_EMAIL";
    readonly VERIFY_EMAIL: "VERIFY_EMAIL";
}

AuthErrorCodes

Una mappa di potenziali codici di errore Auth, per un confronto più semplice con gli errori generati dall'SDK.

Tieni presente che non puoi scuotere le singole chiavi nella mappa, quindi utilizzando la mappa potresti aumentare notevolmente le dimensioni del bundle.

Firma:

AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY: {
    readonly ADMIN_ONLY_OPERATION: "auth/admin-restricted-operation";
    readonly ARGUMENT_ERROR: "auth/argument-error";
    readonly APP_NOT_AUTHORIZED: "auth/app-not-authorized";
    readonly APP_NOT_INSTALLED: "auth/app-not-installed";
    readonly CAPTCHA_CHECK_FAILED: "auth/captcha-check-failed";
    readonly CODE_EXPIRED: "auth/code-expired";
    readonly CORDOVA_NOT_READY: "auth/cordova-not-ready";
    readonly CORS_UNSUPPORTED: "auth/cors-unsupported";
    readonly CREDENTIAL_ALREADY_IN_USE: "auth/credential-already-in-use";
    readonly CREDENTIAL_MISMATCH: "auth/custom-token-mismatch";
    readonly CREDENTIAL_TOO_OLD_LOGIN_AGAIN: "auth/requires-recent-login";
    readonly DEPENDENT_SDK_INIT_BEFORE_AUTH: "auth/dependent-sdk-initialized-before-auth";
    readonly DYNAMIC_LINK_NOT_ACTIVATED: "auth/dynamic-link-not-activated";
    readonly EMAIL_CHANGE_NEEDS_VERIFICATION: "auth/email-change-needs-verification";
    readonly EMAIL_EXISTS: "auth/email-already-in-use";
    readonly EMULATOR_CONFIG_FAILED: "auth/emulator-config-failed";
    readonly EXPIRED_OOB_CODE: "auth/expired-action-code";
    readonly EXPIRED_POPUP_REQUEST: "auth/cancelled-popup-request";
    readonly INTERNAL_ERROR: "auth/internal-error";
    readonly INVALID_API_KEY: "auth/invalid-api-key";
    readonly INVALID_APP_CREDENTIAL: "auth/invalid-app-credential";
    readonly INVALID_APP_ID: "auth/invalid-app-id";
    readonly INVALID_AUTH: "auth/invalid-user-token";
    readonly INVALID_AUTH_EVENT: "auth/invalid-auth-event";
    readonly INVALID_CERT_HASH: "auth/invalid-cert-hash";
    readonly INVALID_CODE: "auth/invalid-verification-code";
    readonly INVALID_CONTINUE_URI: "auth/invalid-continue-uri";
    readonly INVALID_CORDOVA_CONFIGURATION: "auth/invalid-cordova-configuration";
    readonly INVALID_CUSTOM_TOKEN: "auth/invalid-custom-token";
    readonly INVALID_DYNAMIC_LINK_DOMAIN: "auth/invalid-dynamic-link-domain";
    readonly INVALID_EMAIL: "auth/invalid-email";
    readonly INVALID_EMULATOR_SCHEME: "auth/invalid-emulator-scheme";
    readonly INVALID_IDP_RESPONSE: "auth/invalid-credential";
    readonly INVALID_LOGIN_CREDENTIALS: "auth/invalid-credential";
    readonly INVALID_MESSAGE_PAYLOAD: "auth/invalid-message-payload";
    readonly INVALID_MFA_SESSION: "auth/invalid-multi-factor-session";
    readonly INVALID_OAUTH_CLIENT_ID: "auth/invalid-oauth-client-id";
    readonly INVALID_OAUTH_PROVIDER: "auth/invalid-oauth-provider";
    readonly INVALID_OOB_CODE: "auth/invalid-action-code";
    readonly INVALID_ORIGIN: "auth/unauthorized-domain";
    readonly INVALID_PASSWORD: "auth/wrong-password";
    readonly INVALID_PERSISTENCE: "auth/invalid-persistence-type";
    readonly INVALID_PHONE_NUMBER: "auth/invalid-phone-number";
    readonly INVALID_PROVIDER_ID: "auth/invalid-provider-id";
    readonly INVALID_RECIPIENT_EMAIL: "auth/invalid-recipient-email";
    readonly INVALID_SENDER: "auth/invalid-sender";
    readonly INVALID_SESSION_INFO: "auth/invalid-verification-id";
    readonly INVALID_TENANT_ID: "auth/invalid-tenant-id";
    readonly MFA_INFO_NOT_FOUND: "auth/multi-factor-info-not-found";
    readonly MFA_REQUIRED: "auth/multi-factor-auth-required";
    readonly MISSING_ANDROID_PACKAGE_NAME: "auth/missing-android-pkg-name";
    readonly MISSING_APP_CREDENTIAL: "auth/missing-app-credential";
    readonly MISSING_AUTH_DOMAIN: "auth/auth-domain-config-required";
    readonly MISSING_CODE: "auth/missing-verification-code";
    readonly MISSING_CONTINUE_URI: "auth/missing-continue-uri";
    readonly MISSING_IFRAME_START: "auth/missing-iframe-start";
    readonly MISSING_IOS_BUNDLE_ID: "auth/missing-ios-bundle-id";
    readonly MISSING_OR_INVALID_NONCE: "auth/missing-or-invalid-nonce";
    readonly MISSING_MFA_INFO: "auth/missing-multi-factor-info";
    readonly MISSING_MFA_SESSION: "auth/missing-multi-factor-session";
    readonly MISSING_PHONE_NUMBER: "auth/missing-phone-number";
    readonly MISSING_SESSION_INFO: "auth/missing-verification-id";
    readonly MODULE_DESTROYED: "auth/app-deleted";
    readonly NEED_CONFIRMATION: "auth/account-exists-with-different-credential";
    readonly NETWORK_REQUEST_FAILED: "auth/network-request-failed";
    readonly NULL_USER: "auth/null-user";
    readonly NO_AUTH_EVENT: "auth/no-auth-event";
    readonly NO_SUCH_PROVIDER: "auth/no-such-provider";
    readonly OPERATION_NOT_ALLOWED: "auth/operation-not-allowed";
    readonly OPERATION_NOT_SUPPORTED: "auth/operation-not-supported-in-this-environment";
    readonly POPUP_BLOCKED: "auth/popup-blocked";
    readonly POPUP_CLOSED_BY_USER: "auth/popup-closed-by-user";
    readonly PROVIDER_ALREADY_LINKED: "auth/provider-already-linked";
    readonly QUOTA_EXCEEDED: "auth/quota-exceeded";
    readonly REDIRECT_CANCELLED_BY_USER: "auth/redirect-cancelled-by-user";
    readonly REDIRECT_OPERATION_PENDING: "auth/redirect-operation-pending";
    readonly REJECTED_CREDENTIAL: "auth/rejected-credential";
    readonly SECOND_FACTOR_ALREADY_ENROLLED: "auth/second-factor-already-in-use";
    readonly SECOND_FACTOR_LIMIT_EXCEEDED: "auth/maximum-second-factor-count-exceeded";
    readonly TENANT_ID_MISMATCH: "auth/tenant-id-mismatch";
    readonly TIMEOUT: "auth/timeout";
    readonly TOKEN_EXPIRED: "auth/user-token-expired";
    readonly TOO_MANY_ATTEMPTS_TRY_LATER: "auth/too-many-requests";
    readonly UNAUTHORIZED_DOMAIN: "auth/unauthorized-continue-uri";
    readonly UNSUPPORTED_FIRST_FACTOR: "auth/unsupported-first-factor";
    readonly UNSUPPORTED_PERSISTENCE: "auth/unsupported-persistence-type";
    readonly UNSUPPORTED_TENANT_OPERATION: "auth/unsupported-tenant-operation";
    readonly UNVERIFIED_EMAIL: "auth/unverified-email";
    readonly USER_CANCELLED: "auth/user-cancelled";
    readonly USER_DELETED: "auth/user-not-found";
    readonly USER_DISABLED: "auth/user-disabled";
    readonly USER_MISMATCH: "auth/user-mismatch";
    readonly USER_SIGNED_OUT: "auth/user-signed-out";
    readonly WEAK_PASSWORD: "auth/weak-password";
    readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
    readonly ALREADY_INITIALIZED: "auth/already-initialized";
    readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
    readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
    readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
    readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
    readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
    readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
    readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
    readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
}

browserLocalPersistence

Un'implementazione della persistenza di tipo LOCAL utilizzando localStorage per l'archiviazione sottostante.

Firma:

browserLocalPersistence: Persistence

browserPopupRedirectResolver

Un'implementazione di PopupRedirectResolver adatta per le applicazioni basate su browser.

Questo metodo non funziona in un ambiente Node.js.

Firma:

browserPopupRedirectResolver: PopupRedirectResolver

browserSessionPersistence

Un'implementazione della persistenza di SESSION utilizzando sessionStorage per lo spazio di archiviazione sottostante.

Firma:

browserSessionPersistence: Persistence

cordovaPopupRedirectResolver

Un'implementazione di PopupRedirectResolver adatta per le applicazioni basate su Cordova.

Firma:

cordovaPopupRedirectResolver: PopupRedirectResolver

debugErrorMap

Una mappa degli errori dettagliata con descrizioni dettagliate per la maggior parte dei codici di errore.

Vedi la discussione su AuthErrorMap

Firma:

debugErrorMap: AuthErrorMap

FactorId

Un'enumerazione di fattori utilizzabili per l'autenticazione multifattore.

Firma:

FactorId: {
    readonly PHONE: "phone";
    readonly TOTP: "totp";
}

indexedDBLocalPersistence

Un'implementazione della persistenza di tipo LOCAL utilizzando indexedDB per l'archiviazione sottostante.

Firma:

indexedDBLocalPersistence: Persistence

inMemoryPersistence

Un'implementazione di persistenza di tipo "NESSUNO".

Firma:

inMemoryPersistence: Persistence

OperationType

Enumerazione dei tipi di operazioni supportati.

Firma:

OperationType: {
    readonly LINK: "link";
    readonly REAUTHENTICATE: "reauthenticate";
    readonly SIGN_IN: "signIn";
}

prodErrorMap

Una mappa degli errori minima con la rimozione di tutti i messaggi di errore dettagliati.

Vedi la discussione su AuthErrorMap

Firma:

prodErrorMap: AuthErrorMap

ProviderId

Enumerazione dei provider supportati.

Firma:

ProviderId: {
    readonly FACEBOOK: "facebook.com";
    readonly GITHUB: "github.com";
    readonly GOOGLE: "google.com";
    readonly PASSWORD: "password";
    readonly PHONE: "phone";
    readonly TWITTER: "twitter.com";
}

SignInMethod

Enumerazione dei metodi di accesso supportati.

Firma:

SignInMethod: {
    readonly EMAIL_LINK: "emailLink";
    readonly EMAIL_PASSWORD: "password";
    readonly FACEBOOK: "facebook.com";
    readonly GITHUB: "github.com";
    readonly GOOGLE: "google.com";
    readonly PHONE: "phone";
    readonly TWITTER: "twitter.com";
}

CustomParameters

Mappa dei parametri personalizzati OAuth.

Firma:

export declare type CustomParameters = Record<string, string>;

NextOrObserver

Digita la definizione di un callback di evento.

Firma:

export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;

PhoneInfoOptions

Le informazioni necessarie per verificare la proprietà di un numero di telefono.

Le informazioni richieste variano a seconda che tu stia eseguendo l'accesso a un solo fattore, la registrazione a più fattori o l'accesso a più fattori.

Firma:

export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;

UserProfile

Profilo utente utilizzato in AdditionalUserInfo.

Firma:

export declare type UserProfile = Record<string, unknown>;