auth package

Firebase Authentication

Funciones

Función Descripción
function(app, ...)
getAuth(app) Muestra la instancia Auth asociada con la FirebaseApp proporcionada. Si no existe una instancia, inicializa una instancia de Auth con dependencias predeterminadas específicas de la plataforma.
initializeAuth(app, deps) Inicializa una instancia de Auth con un control detallado sobre las Dependencias.
function(storage, ...)
getReactNativePersistence(storage) Muestra un objeto de persistencia que une la AsyncStorage importada de react-native o @react-native-community/async-storage, y que se puede usar en el campo de dependencia de persistencia en initializeAuth().
function(auth, ...)
applyActionCode(auth, oobCode) Aplica un código de verificación que se envía al usuario por correo electrónico u otro mecanismo fuera de banda.
beforeAuthStateChanged(auth, callback, onAbort) Agrega una devolución de llamada de bloqueo que se ejecuta antes de que un cambio de estado de autenticación establezca un usuario nuevo.
checkActionCode(auth, oobCode) Comprueba un código de verificación que se envía al usuario por correo electrónico u otro mecanismo fuera de banda.
confirmPasswordReset(auth, oobCode, newPassword) Completa el proceso de restablecimiento de contraseña, según un código de confirmación y una contraseña nueva.
connectAuthEmulator(auth, url, options) Cambia la instancia Auth para que se comunique con el emulador de Firebase Auth, en lugar de los servicios de producción de Firebase Auth.
createUserWithEmailAndPassword(auth, email, password) Crea una nueva cuenta de usuario asociada con la dirección de correo electrónico y la contraseña especificadas.
fetchSignInMethodsForEmail(auth, email) Obtiene la lista de posibles métodos de acceso para la dirección de correo electrónico proporcionada. Este método muestra una lista vacía cuando se habilita la [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection), independientemente de la cantidad de métodos de autenticación disponibles para el correo electrónico determinado.
getMultiFactorResolver(auth, error) Proporciona un MultiFactorResolver adecuado para completar un flujo de varios factores.
getRedirectResult(auth, resolver) Muestra una UserCredential del flujo de acceso basado en redireccionamiento.
initializeRecaptchaConfig(auth) Carga la configuración de reCAPTCHA en la instancia de Auth.
isSignInWithEmailLink(auth, emailLink) Comprueba si un vínculo entrante es un acceso con un vínculo de correo electrónico adecuado para signInWithEmailLink().
onAuthStateChanged(auth, nextOrObserver, error, completed) Agrega un observador para los cambios en el estado de acceso del usuario.
onIdTokenChanged(auth, nextOrObserver, error, completed) Agrega un observador para los cambios en el token de ID del usuario que accedió.
revokeAccessToken(auth, token) Revoca el token de acceso dado. Actualmente, solo es compatible con tokens de acceso OAuth de Apple.
sendPasswordResetEmail(auth, email, actionCodeSettings) Envía un correo electrónico de restablecimiento de contraseña a la dirección indicada. Este método no muestra un error cuando no hay una cuenta de usuario con la dirección de correo electrónico proporcionada y la [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está habilitada.
sendSignInLinkToEmail(auth, email, actionCodeSettings) Envía un vínculo de correo electrónico de acceso al usuario con el correo electrónico especificado.
setPersistence(auth, persistence) Cambia el tipo de persistencia en la instancia de Auth para la sesión de Auth guardada actualmente y aplica este tipo de persistencia a las futuras solicitudes de acceso, incluido el acceso con solicitudes de redireccionamiento.
signInAnonymously(auth) Accede de forma asíncrona como un usuario anónimo.
signInWithCredential(auth, credential) Accede de forma asíncrona con las credenciales proporcionadas.
signInWithCustomToken(auth, customToken) Accede de forma asíncrona con un token personalizado.
signInWithEmailAndPassword(auth, email, password) Accede de forma asíncrona con un correo electrónico y una contraseña.
signInWithEmailLink(auth, email, emailLink) Accede de forma asíncrona con un correo electrónico y un vínculo de correo electrónico de acceso.
signInWithPhoneNumber(auth, phoneNumber, appVerifier) Accede de forma asíncrona con un número de teléfono.
signInWithPopup(auth, provider, resolver) Autentica un cliente de Firebase con un flujo de autenticación de OAuth basado en ventanas emergentes.
signInWithRedirect(auth, provider, resolver) Autentica un cliente de Firebase con un flujo de redireccionamiento de página completa.
signOut(auth) Cierra la sesión del usuario actual.
updateCurrentUser(auth, user) Configura de forma asíncrona el usuario proporcionado como Auth.currentUser en la instancia de Auth.
useDeviceLanguage(auth) Establece el idioma actual como la preferencia predeterminada de dispositivo o navegador.
validatePassword(auth, password) Valida la contraseña según la política de contraseñas configurada para el proyecto o usuario.
verifyPasswordResetCode(auth, code) Comprueba un código de restablecimiento de contraseña enviado al usuario por correo electrónico u otro mecanismo fuera de banda.
function(link, ...)
parseActionCodeURL(vínculo) Analiza la string del vínculo de acción de correo electrónico y muestra una ActionCodeURL si el vínculo es válido; de lo contrario, muestra un valor nulo.
function(user, ...)
deleteUser(user) Borra al usuario y luego cierra su sesión.
getIdToken(user, forceRefresh) Devuelve un token web JSON (JWT) que se usa para identificar al usuario en un servicio de Firebase.
getIdTokenResult(user, forceRefresh) Muestra un token web JSON (JWT) deserializado que se usa para identificar al usuario en un servicio de Firebase.
linkWithCredential(user, credential) Vincula la cuenta de usuario con las credenciales determinadas.
linkWithPhoneNumber(user, phoneNumber, appVerifier) Vincula la cuenta de usuario con el número de teléfono especificado.
linkWithPopup(user, provider, resolver) Vincula el proveedor autenticado con la cuenta de usuario mediante un flujo de OAuth basado en ventanas emergentes.
linkWithRedirect(user, provider, resolver) Vincula el OAuthProvider a la cuenta de usuario a través de un flujo de redireccionamiento de página completa.
multiFactor(user) El MultiFactorUser correspondiente al usuario.
reauthenticateWithCredential(user, credential) Vuelve a autenticar a un usuario con una credencial nueva.
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) Vuelve a autenticar a un usuario con una credencial de teléfono nueva.
reauthenticateWithPopup(user, provider, resolver) Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de OAuth basado en ventanas emergentes.
reauthenticateWithRedirect(user, provider, resolver) Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de redireccionamiento de página completa.
volver a cargar(usuario) Vuelve a cargar los datos de la cuenta de usuario, si se accedió.
sendEmailVerification(user, actionCodeSettings) Envía un mensaje de verificación a un usuario.
unlink(user, providerId) Desvincula un proveedor de una cuenta de usuario.
updateEmail(user, newEmail) Actualiza la dirección de correo electrónico del usuario.
updatePassword(user, newPassword) Actualiza la contraseña del usuario.
updatePhoneNumber(user, credential) Actualiza el número de teléfono del usuario.
updateProfile(user, { displayName, photoURL: photoUrl }) Actualiza los datos del perfil de un usuario.
verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings) Envía un mensaje de verificación a una dirección de correo electrónico nueva.
function(userCredential, ...)
getAdditionalUserInfo(userCredential) Extrae el objeto AdditionalUserInfo específico del proveedor para la credencial determinada.

Clases

Clase Descripción
ActionCodeURL Una clase de utilidad para analizar las URLs de acción de correo electrónico, como el restablecimiento de la contraseña, la verificación del correo electrónico, el acceso mediante vínculos de correo electrónico, etc.
AuthCredential Interfaz que representa las credenciales que muestra un AuthProvider.
EmailAuthCredential Interfaz que representa las credenciales que muestra EmailAuthProvider para ProviderId.PASSWORD.
EmailAuthProvider Proveedor para generar EmailAuthCredential.
FacebookAuthProvider Proveedor para generar una OAuthCredential para ProviderId.FACEBOOK.
GithubAuthProvider Proveedor para generar una OAuthCredential para ProviderId.GITHUB.
GoogleAuthProvider Proveedor para generar una OAuthCredential para ProviderId.GOOGLE.
OAuthCredential Representa las credenciales de OAuth que muestra un OAuthProvider.
OAuthProvider Proveedor para generar una OAuthCredential genérica.
PhoneAuthCredential Representa las credenciales que muestra PhoneAuthProvider.
PhoneAuthProvider Proveedor para generar una PhoneAuthCredential.
PhoneMultiFactorGenerator Proveedor para generar un PhoneMultiFactorAssertion.
RecaptchaVerifier Un verificador de aplicaciones basado en reCAPTCHA
SAMLAuthProvider Un AuthProvider para SAML.
TotpMultiFactorGenerator Proveedor para generar un TotpMultiFactorAssertion.
TotpSecret Proveedor para generar una TotpMultiFactorAssertion.Almacena la clave secreta compartida y otros parámetros para generar OTP basadas en el tiempo. Implementa métodos para recuperar la clave secreta compartida y generar una URL de código QR.
TwitterAuthProvider Proveedor para generar una OAuthCredential para ProviderId.TWITTER.

Interfaces

Interfaz Descripción
ActionCodeInfo Respuesta de checkActionCode().
ActionCodeSettings Una interfaz que define la URL de estado o continuación obligatoria con identificadores de paquete opcionales de iOS y Android.
AdditionalUserInfo Una estructura que contiene información adicional del usuario de un proveedor de identidad federada.
ApplicationVerifier Un verificador para la verificación del dominio y la prevención de abusos.
Autenticación Interfaz que representa el servicio Firebase Auth.
AuthError Interfaz para un error Auth
AuthErrorMap Una asignación de códigos de error a mensajes de error.
AuthProvider Interfaz que representa un proveedor de autenticación, que se usa para facilitar la creación de AuthCredential.
AuthSettings Interfaz que representa la configuración de una instancia Auth.
Configuración Interfaz que representa la configuración de Auth
ConfirmationResult El resultado de una llamada de acceso, vínculo o reautenticación con un número de teléfono.
Dependencias Las dependencias que se pueden usar para inicializar una instancia de Auth.
EmulatorConfig Configuración del emulador de Firebase Authentication.
IdTokenResult Interfaz que representa el resultado del token de ID obtenido de User.getIdTokenResult().
MultiFactorAssertion La clase base para confirmar la propiedad de un segundo factor.
MultiFactorError Es el error que se produce cuando el usuario necesita proporcionar un segundo factor para acceder correctamente.
MultiFactorInfo Es una estructura que contiene la información de una entidad de segundo factor.
MultiFactorResolver Es la clase que se usa para facilitar la recuperación de MultiFactorError cuando un usuario necesita proporcionar un segundo factor para acceder.
MultiFactorSession Una interfaz que define el objeto de la sesión de varios factores que se usa para inscribir un segundo factor sobre un usuario o ayudar a que un usuario inscrito acceda con un segundo factor.
MultiFactorUser Una interfaz que define las propiedades y operaciones relacionadas con varios factores que pertenecen a un usuario.
OAuthCredentialOptions Define las opciones para inicializar una OAuthCredential.
ParsedToken Interfaz que representa un token de ID analizado.
PasswordPolicy Una estructura que especifica los requisitos de la política de contraseñas.
PasswordValidationStatus Una estructura que indica qué requisitos de la política de contraseñas se cumplieron o se incumplieron y cuáles son los requisitos
Persistencia Una interfaz que abarca los posibles tipos de mecanismos de persistencia
PhoneMultiFactorAssertion Es la clase para confirmar la propiedad de un segundo factor de teléfono. Lo proporciona PhoneMultiFactorGenerator.assertion().
PhoneMultiFactorEnrollInfoOptions Opciones que se usan para inscribir un segundo factor.
PhoneMultiFactorInfo Es la subclase de la interfaz MultiFactorInfo para los segundos factores del número de teléfono. El factorId de este segundo factor es FactorId.PHONE.
PhoneMultiFactorSignInInfoOptions Opciones que se usan para acceder con un segundo factor.
PhoneSingleFactorInfoOptions Opciones que se usan para el acceso de factor único.
PopupRedirectResolver Un agente de resolución que se usa para controlar operaciones específicas de DOM, como signInWithPopup() o signInWithRedirect().
ReactNativeAsyncStorage Interfaz para un objeto AsyncStorage proporcionado.
RecaptchaParameters Interfaz que representa los parámetros de reCAPTCHA.Consulta los [documentos de reCAPTCHA](https://developers.google.com/recaptcha/docs/display#render_param) para obtener la lista de los parámetros aceptados. Se aceptan todos los parámetros, excepto sitekey: Firebase Auth aprovisiona un reCAPTCHA para cada proyecto y configurará la clave del sitio cuando se renderice.En el caso de un reCAPTCHA invisible, establece la clave size en invisible.
TotpMultiFactorAssertion Es la clase para confirmar la propiedad de un segundo factor de TOTP. Lo proporcionan TotpMultiFactorGenerator.assertionForEnrollment() y TotpMultiFactorGenerator.assertionForSignIn().
TotpMultiFactorInfo Es la subclase de la interfaz MultiFactorInfo para los segundos factores del TOTP. El factorId de este segundo factor es FactorId.TOTP.
User Una cuenta de usuario.
UserCredential Es una estructura que contiene un User, un OperationType y el ID de proveedor.
UserInfo Información del perfil del usuario, visible solo para las apps del proyecto de Firebase.
UserMetadata Interfaz que representa los metadatos de un usuario.

Variables

Variable Descripción
ActionCodeOperation Una enumeración de los posibles tipos de acción de correo electrónico.
AuthErrorCodes Un mapa de posibles códigos de error Auth para facilitar la comparación con los errores que arroja el SDK
browserLocalPersistence Una implementación de Persistencia de tipo LOCAL que usa localStorage para el almacenamiento subyacente.
browserPopupRedirectResolver Una implementación de PopupRedirectResolver adecuada para aplicaciones basadas en navegador.
browserSessionPersistence Una implementación de la persistencia de SESSION que usa sessionStorage para el almacenamiento subyacente.
cordovaPopupRedirectResolver Una implementación de PopupRedirectResolver adecuada para aplicaciones basadas en Cordova.
debugErrorMap Un mapa de errores detallado con descripciones detalladas de la mayoría de los códigos de error.Consulta el debate en AuthErrorMap.
FactorId Una enumeración de factores que pueden usarse para la autenticación multifactor.
indexedDBLocalPersistence Una implementación de Persistencia de tipo LOCAL que usa indexedDB para el almacenamiento subyacente.
inMemoryPersistence Una implementación de Persistent del tipo 'NONE'.
OperationType Enumeración de los tipos de operaciones admitidos.
prodErrorMap Un mapa de errores mínimo con todos los mensajes de error detallados eliminados.Consulta el debate en AuthErrorMap.
ProviderId Es una enumeración de los proveedores admitidos.
SignInMethod Enumeración de los métodos de acceso compatibles.

Escribe alias

Alias de tipo Descripción
CustomParameters Mapa de parámetros personalizados de OAuth.
NextOrObserver Definición de tipo para una devolución de llamada de evento.
PhoneInfoOptions Es la información necesaria para verificar la propiedad de un número de teléfono.
UserProfile Perfil de usuario utilizado en AdditionalUserInfo.

función(app, ...)

getAuth(app)

Muestra la instancia Auth asociada con la FirebaseApp proporcionada. Si no existe una instancia, inicializa una instancia de Auth con dependencias predeterminadas específicas de la plataforma.

Signature:

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

Parámetros

Parámetro Tipo Descripción
app FirebaseApp La app de Firebase

Devuelve:

Autenticación

initializeAuth(app, deps)

Inicializa una instancia de Auth con un control detallado sobre las Dependencias.

Esta función permite tener más control sobre la instancia Auth que getAuth(). getAuth usa los valores predeterminados específicos de la plataforma para proporcionar las Dependencias. En general, getAuth es la forma más fácil de inicializar Auth y funciona en la mayoría de los casos de uso. Usa initializeAuth si necesitas controlar qué capa de persistencia se utiliza, o bien para minimizar el tamaño del paquete si no usas signInWithPopup ni signInWithRedirect.

Por ejemplo, si tu app solo usa cuentas anónimas y solo quieres que se guarden las cuentas para la sesión actual, inicializa Auth con lo siguiente:

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

Signature:

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

Parámetros

Parámetro Tipo Descripción
app FirebaseApp
dependencias Dependencias

Devuelve:

Autenticación

función(almacenamiento, ...)

getReactNativePersistence(storage)

Muestra un objeto de persistencia que une la AsyncStorage importada de react-native o @react-native-community/async-storage, y se puede usar en el campo de dependencia de persistencia de initializeAuth().

Signature:

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

Parámetros

Parámetro Tipo Descripción
almacenamiento ReactNativeAsyncStorage

Devuelve:

Persistencia

función(auth, ...)

applyActionCode(auth, oobCode)

Aplica un código de verificación que se envía al usuario por correo electrónico u otro mecanismo fuera de banda.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
oobCode cadena Un código de verificación que se envía al usuario

Devuelve:

Promise<void>

beforeAuthStateChanged(auth, callback, onAbort)

Agrega una devolución de llamada de bloqueo que se ejecuta antes de que un cambio de estado de autenticación establezca un usuario nuevo.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
callback (user: User | null) => void | Promise<void> Se activa la devolución de llamada antes de que se establezca un valor de usuario nuevo. Si se produce este error, se bloqueará la configuración del usuario.
onAbort () => vacío. Se activa la devolución de llamada si se genera una devolución de llamada beforeAuthStateChanged() posterior, lo que te permite deshacer los efectos secundarios.

Devuelve:

Anular la suscripción

checkActionCode(auth, oobCode)

Comprueba un código de verificación que se envía al usuario por correo electrónico u otro mecanismo fuera de banda.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
oobCode cadena Un código de verificación que se envía al usuario

Devuelve:

Promise<ActionCodeInfo>

metadatos sobre el código.

confirmPasswordReset(auth, oobCode, newPassword)

Completa el proceso de restablecimiento de contraseña, según un código de confirmación y una contraseña nueva.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
oobCode cadena Un código de confirmación que se envía al usuario
newPassword cadena La nueva contraseña.

Devuelve:

Promise<void>

connectAuthEmulator(auth, url, options)

Cambia la instancia Auth para que se comunique con el emulador de Firebase Auth, en lugar de los servicios de producción de Firebase Auth.

Se debe llamar a este método de forma síncrona inmediatamente después de la primera llamada a initializeAuth(). No lo uses con credenciales de producción, ya que el tráfico del emulador no está encriptado.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
url cadena La URL en la que se ejecuta el emulador (p. ej., "http://localhost:9099").
Opciones { disableWarnings: boolean; } Opcional. La configuración predeterminada de options.disableWarnings es false. Configúralo en true para inhabilitar el banner de advertencia adjunto al DOM.

Devuelve:

void

Ejemplo

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

createUserWithEmailAndPassword(auth, email, password)

Crea una nueva cuenta de usuario asociada con la dirección de correo electrónico y la contraseña especificadas.

Si la cuenta de usuario se crea correctamente, este usuario también accederá a tu aplicación.

La creación de la cuenta de usuario puede fallar si la cuenta ya existe o la contraseña no es válida.

Este método no es compatible con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
email cadena La dirección de correo electrónico del usuario.
contraseña cadena La contraseña elegida por el usuario.

Devuelve:

Promise<UserCredential>

fetchSignInMethodsForEmail(auth, email)

Obtiene la lista de posibles métodos de acceso para la dirección de correo electrónico proporcionada. Este método muestra una lista vacía cuando se habilita la [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection), independientemente de la cantidad de métodos de autenticación disponibles para el correo electrónico determinado.

Esto es útil para diferenciar los métodos de acceso del mismo proveedor, p. ej., EmailAuthProvider, que tiene 2 métodos de acceso: SignInMethod.EMAIL_PASSWORD y SignInMethod.EMAIL_LINK.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
email cadena La dirección de correo electrónico del usuario.Obsoleto. La práctica recomendada de seguridad es migrar desde este método. Obtén más información en la documentación de Identity Platform sobre [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection).

Devuelve:

Promesa<string[]>

getMultiFactorResolver(auth, error)

Proporciona un MultiFactorResolver adecuado para completar un flujo de varios factores.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
error MultiFactorError El MultiFactorError que se genera durante una operación de acceso o reautenticación.

Devuelve:

MultiFactorResolver

getRedirectResult(auth, resolver)

Muestra una UserCredential del flujo de acceso basado en redireccionamiento.

Si se accede correctamente, se muestra el usuario que accedió. Si no se pudo acceder, fallará y se mostrará un error. Si no se llamó a una operación de redireccionamiento, muestra null.

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Promise<UserCredential | null>

Ejemplo

// 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)

Carga la configuración de reCAPTCHA en la instancia de Auth.

Esto cargará la configuración de reCAPTCHA, que indica si el flujo de verificación de reCAPTCHA debe activarse para cada proveedor de autenticación, en la sesión de autenticación actual.

Si no se invoca a inicializaRecaptchaConfig(), el flujo de autenticación siempre se iniciará sin la verificación de reCAPTCHA. Si el proveedor está configurado para requerir la verificación de reCAPTCHA, el SDK cargará con transparencia la configuración de reCAPTCHA y reiniciará los flujos de autenticación.

Por lo tanto, si llamas a este método opcional, reducirás la latencia de futuros flujos de autenticación. Cargar la configuración de reCAPTCHA anticipadamente también mejorará el indicador que recopila.

Este método no funciona en un entorno de Node.js.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.

Devuelve:

Promise<void>

Ejemplo

initializeRecaptchaConfig(auth);

Comprueba si un vínculo entrante es un acceso con un vínculo de correo electrónico adecuado para signInWithEmailLink().

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
emailLink cadena Es el vínculo que se envía a la dirección de correo electrónico del usuario.

Devuelve:

boolean

onAuthStateChanged(auth, nextOrObserver, error, completed)

Agrega un observador para los cambios en el estado de acceso del usuario.

Para mantener el comportamiento anterior, consulta onIdTokenChanged().

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
nextOrObserver NextOrObserver<Usuario> se activa la devolución de llamada cuando hay un cambio.
error ErrorFn Ya no está disponible. Esta devolución de llamada nunca se activa. Los errores de acceso y salida pueden verse en las promesas que se muestran a partir de las funciones de acceso y cierre de sesión.
completados CompleteFn Ya no está disponible. Esta devolución de llamada nunca se activa.

Devuelve:

Anular la suscripción

onIdTokenChanged(auth, nextOrObserver, error, completed)

Agrega un observador para los cambios en el token de ID del usuario que accedió.

Esto incluye eventos de acceso, cierre de sesión y actualización de token. No se activará automáticamente cuando venza el token de ID. Usa User.getIdToken() para actualizar el token de ID.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
nextOrObserver NextOrObserver<Usuario> se activa la devolución de llamada cuando hay un cambio.
error ErrorFn Ya no está disponible. Esta devolución de llamada nunca se activa. Los errores de acceso y salida pueden verse en las promesas que se muestran a partir de las funciones de acceso y cierre de sesión.
completados CompleteFn Ya no está disponible. Esta devolución de llamada nunca se activa.

Devuelve:

Anular la suscripción

revokeAccessToken(auth, token)

Revoca el token de acceso dado. Actualmente, solo es compatible con tokens de acceso OAuth de Apple.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
token cadena El token de acceso de OAuth de Apple.

Devuelve:

Promise<void>

sendPasswordResetEmail(auth, email, actionCodeSettings)

Envía un correo electrónico de restablecimiento de contraseña a la dirección indicada. Este método no muestra un error cuando no hay una cuenta de usuario con la dirección de correo electrónico proporcionada y la [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está habilitada.

Para completar el restablecimiento de la contraseña, llama a confirmPasswordReset() con el código proporcionado en el correo electrónico que se envió al usuario, junto con la nueva contraseña que especificaste.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
email cadena La dirección de correo electrónico del usuario.
actionCodeSettings ActionCodeSettings La configuración ActionCodeSettings.

Devuelve:

Promise<void>

Ejemplo

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)

Envía un vínculo de correo electrónico de acceso al usuario con el correo electrónico especificado.

A diferencia de otras acciones de correo electrónico fuera de banda (restablecimiento de contraseñas y verificaciones de correos electrónicos), la operación de acceso siempre debe completarse en la app. Esto se debe a que, al final del flujo, se espera que el usuario acceda y que su estado de autenticación permanezca en la app.

Para completar el acceso con el vínculo de correo electrónico, llama a signInWithEmailLink() con la dirección de correo electrónico y el vínculo de correo electrónico que se proporciona en el correo electrónico que se envió al usuario.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación
email cadena La dirección de correo electrónico del usuario.
actionCodeSettings ActionCodeSettings La configuración ActionCodeSettings.

Devuelve:

Promise<void>

Ejemplo

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)

Cambia el tipo de persistencia en la instancia de Auth para la sesión de Auth guardada actualmente y aplica este tipo de persistencia a las futuras solicitudes de acceso, incluido el acceso con solicitudes de redireccionamiento.

De esta manera, es más fácil para los usuarios que acceden especificar si sus sesiones deben recordarse o no. También facilita la conservación del estado Auth para aplicaciones que comparten otros usuarios o que tienen datos sensibles.

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
persistencia Persistencia La Persistencia que se usará.

Devuelve:

Promise<void>

Un Promise que se resuelve una vez que se completa el cambio de persistencia

Ejemplo

setPersistence(auth, browserSessionPersistence);

signInAnonymously(auth)

Accede de forma asíncrona como un usuario anónimo.

Si ya accedió un usuario anónimo, se mostrará ese usuario; de lo contrario, se creará y mostrará una nueva identidad de usuario anónimo.

Este método no es compatible con las instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.

Devuelve:

Promise<UserCredential>

signInWithCredential(auth, credential)

Accede de forma asíncrona con las credenciales proporcionadas.

Se puede usar un AuthProvider para generar la credencial.

Este método no es compatible con las instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
credencial AuthCredential La credencial de autenticación

Devuelve:

Promise<UserCredential>

signInWithCustomToken(auth, customToken)

Accede de forma asíncrona con un token personalizado.

Los tokens personalizados se usan para integrar Firebase Auth en sistemas de autenticación existentes y deben ser generados por un backend de autenticación con el método createCustomToken en el SDK de Admin .

Falla con un error si el token no es válido, venció o no lo aceptó el servicio de Firebase Auth.

Este método no es compatible con las instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
customToken cadena El token personalizado con el que se accede.

Devuelve:

Promise<UserCredential>

signInWithEmailAndPassword(auth, email, password)

Accede de forma asíncrona con un correo electrónico y una contraseña.

Se mostrará un error si la dirección de correo electrónico y la contraseña no coinciden. Cuando se habilita la [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection), este método falla con "auth/invalid-credential" en caso de un correo electrónico o contraseña no válidos.

Este método no es compatible con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
email cadena La dirección de correo electrónico de los usuarios
contraseña cadena La contraseña de los usuarios.

Devuelve:

Promise<UserCredential>

Accede de forma asíncrona con un correo electrónico y un vínculo de correo electrónico de acceso.

Si no se pasa ningún vínculo, se infiere de la URL actual.

Se produce un error si la dirección de correo electrónico no es válida o si vence la OTP del vínculo del correo electrónico.

Este método no es compatible con las instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
email cadena La dirección de correo electrónico del usuario.
emailLink cadena Es el vínculo que se envía a la dirección de correo electrónico del usuario.

Devuelve:

Promise<UserCredential>

Ejemplo

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)

Accede de forma asíncrona con un número de teléfono.

Este método envía un código por SMS al número de teléfono especificado y muestra un ConfirmationResult. Después de que el usuario ingrese el código que se envió a su teléfono, llama a ConfirmationResult.confirm() con el código para que el usuario acceda.

Para la prevención de abusos, este método también requiere un ApplicationVerifier. Este SDK incluye una implementación basada en reCAPTCHA, RecaptchaVerifier. Esta función puede funcionar en otras plataformas que no admiten el RecaptchaVerifier (como React Native), pero debes usar una implementación de ApplicationVerifier de terceros.

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
phoneNumber cadena Indica el número de teléfono del usuario en formato E.164 (p.ej., +16505550101).
appVerifier ApplicationVerifier El ApplicationVerifier.

Devuelve:

Promise<ConfirmationResult>

Ejemplo

// '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 cliente de Firebase con un flujo de autenticación de OAuth basado en ventanas emergentes.

Si se ejecuta correctamente, muestra el usuario que accedió junto con la credencial del proveedor. Si no se pudo acceder, se mostrará un objeto de error que contiene información adicional sobre el error.

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
provider AuthProvider El proveedor que se autenticará. El proveedor debe ser un OAuthProvider. Los proveedores que no son de OAuth, como EmailAuthProvider, mostrarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Promise<UserCredential>

Ejemplo

// 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 cliente de Firebase con un flujo de redireccionamiento de página completa.

Para administrar los resultados y los errores de esta operación, consulta getRedirectResult(). Sigue las prácticas recomendadas cuando uses signInWithRedirect().

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
provider AuthProvider El proveedor que se autenticará. El proveedor debe ser un OAuthProvider. Los proveedores que no son de OAuth, como EmailAuthProvider, mostrarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Prometer<nunca>

Ejemplo

// 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)

Cierra la sesión del usuario actual.

Este método no es compatible con las instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.

Devuelve:

Promise<void>

updateCurrentUser(auth, user)

Configura de forma asíncrona el usuario proporcionado como Auth.currentUser en la instancia de Auth.

Se creará una copia de instancia nueva del usuario proporcionado y se establecerá como currentUser.

Esto activará los objetos de escucha onAuthStateChanged() y onIdTokenChanged() como otros métodos de acceso.

La operación falla y muestra un error si el usuario que se actualizará pertenece a otro proyecto de Firebase.

Este método no es compatible con las instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
usuario Usuario | nulo El nuevo User.

Devuelve:

Promise<void>

useDeviceLanguage(auth)

Establece el idioma actual como la preferencia predeterminada de dispositivo o navegador.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.

Devuelve:

void

validatePassword(auth, password)

Valida la contraseña según la política de contraseñas configurada para el proyecto o usuario.

Si no se establece un ID de usuario en la instancia de Auth, este método usará la política de contraseñas configurada para el proyecto. De lo contrario, este método usará la política configurada para el usuario. Si no se configuró una política de contraseñas, se usará la política predeterminada para todos los proyectos.

Si un flujo de autenticación falla porque una contraseña enviada no cumple con los requisitos de la política de contraseñas y ya se llamó a este método, este usará la política más reciente disponible cuando se vuelva a llamar.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
contraseña cadena La contraseña que se validará.

Devuelve:

Promise<PasswordValidationStatus>

Ejemplo

validatePassword(auth, 'some-password');

verifyPasswordResetCode(auth, code)

Comprueba un código de restablecimiento de contraseña enviado al usuario por correo electrónico u otro mecanismo fuera de banda.

Signature:

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

Parámetros

Parámetro Tipo Descripción
autenticación Autenticación La instancia Auth.
código cadena Un código de verificación que se envía al usuario

Devuelve:

Promesa<string>

la dirección de correo electrónico del usuario, si es válida.

analizadorActionCodeURL(vínculo)

Analiza la string del vínculo de acción de correo electrónico y muestra una ActionCodeURL si el vínculo es válido; de lo contrario, muestra un valor nulo.

Signature:

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

Parámetros

Parámetro Tipo Descripción
vínculo cadena

Devuelve:

ActionCodeURL | null

función(usuario, ...)

deleteUser(user)

Borra al usuario y luego cierra su sesión.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.

Devuelve:

Promise<void>

getIdToken(user, forceRefresh)

Devuelve un token web JSON (JWT) que se usa para identificar al usuario en un servicio de Firebase.

Muestra el token actual si no ha vencido o si no vencerá en los próximos cinco minutos. De lo contrario, se actualizará el token y se mostrará uno nuevo.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
forceRefresh boolean Fuerza la actualización independientemente del vencimiento del token.

Devuelve:

Promesa<string>

getIdTokenResult(user, forceRefresh)

Muestra un token web JSON (JWT) deserializado que se usa para identificar al usuario en un servicio de Firebase.

Muestra el token actual si no ha vencido o si no vencerá en los próximos cinco minutos. De lo contrario, se actualizará el token y se mostrará uno nuevo.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
forceRefresh boolean Fuerza la actualización independientemente del vencimiento del token.

Devuelve:

Promise<IdTokenResult>

linkWithCredential(user, credential)

Vincula la cuenta de usuario con las credenciales determinadas.

Se puede usar un AuthProvider para generar la credencial.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
credencial AuthCredential La credencial de autenticación

Devuelve:

Promise<UserCredential>

linkWithPhoneNumber(user, phoneNumber, appVerifier)

Vincula la cuenta de usuario con el número de teléfono especificado.

Este método no funciona en un entorno de Node.js.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
phoneNumber cadena Indica el número de teléfono del usuario en formato E.164 (p.ej., +16505550101).
appVerifier ApplicationVerifier El ApplicationVerifier.

Devuelve:

Promise<ConfirmationResult>

linkWithPopup(user, provider, resolver)

Vincula el proveedor autenticado con la cuenta de usuario mediante un flujo de OAuth basado en ventanas emergentes.

Si la vinculación se realiza correctamente, el resultado devuelto contendrá el usuario y la credencial del proveedor.

Este método no funciona en un entorno de Node.js.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
provider AuthProvider El proveedor que se autenticará. El proveedor debe ser un OAuthProvider. Los proveedores que no son de OAuth, como EmailAuthProvider, mostrarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Promise<UserCredential>

Ejemplo

// 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)

Vincula el OAuthProvider a la cuenta de usuario a través de un flujo de redireccionamiento de página completa.

Para administrar los resultados y los errores de esta operación, consulta getRedirectResult(). Sigue las prácticas recomendadas cuando uses linkWithRedirect().

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
provider AuthProvider El proveedor que se autenticará. El proveedor debe ser un OAuthProvider. Los proveedores que no son de OAuth, como EmailAuthProvider, mostrarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Prometer<nunca>

Ejemplo

// 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)

El MultiFactorUser correspondiente al usuario.

Se usa para acceder a todas las propiedades y operaciones de varios factores relacionadas con el usuario.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.

Devuelve:

MultiFactorUser

reauthenticateWithCredential(user, credential)

Vuelve a autenticar a un usuario con una credencial nueva.

Úsalo antes de operaciones como updatePassword() que requieren tokens de intentos de acceso recientes. Este método se puede usar para recuperarse de un error CREDENTIAL_TOO_OLD_LOGIN_AGAIN o un error TOKEN_EXPIRED.

Este método no es compatible con ningún usuario que haya accedido a través de instancias de Auth creadas con FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
credencial AuthCredential La credencial de autenticación

Devuelve:

Promise<UserCredential>

reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier)

Vuelve a autenticar a un usuario con una credencial de teléfono nueva.

Úsalo antes de operaciones como updatePassword() que requieren tokens de intentos de acceso recientes.

Este método no funciona en un entorno de Node.js ni en ningún usuario que haya accedido mediante instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
phoneNumber cadena Indica el número de teléfono del usuario en formato E.164 (p.ej., +16505550101).
appVerifier ApplicationVerifier El ApplicationVerifier.

Devuelve:

Promise<ConfirmationResult>

reauthenticateWithPopup(user, provider, resolver)

Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de OAuth basado en ventanas emergentes.

Si la reautenticación se realiza correctamente, el resultado devuelto contendrá el usuario y la credencial del proveedor.

Este método no funciona en un entorno de Node.js ni en ningún usuario que haya accedido mediante instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
provider AuthProvider El proveedor que se autenticará. El proveedor debe ser un OAuthProvider. Los proveedores que no son de OAuth, como EmailAuthProvider, mostrarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Promise<UserCredential>

Ejemplo

// 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)

Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de redireccionamiento de página completa.

Para administrar los resultados y los errores de esta operación, consulta getRedirectResult(). Sigue las prácticas recomendadas cuando uses reauthenticateWithRedirect().

Este método no funciona en un entorno de Node.js ni con instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
provider AuthProvider El proveedor que se autenticará. El proveedor debe ser un OAuthProvider. Los proveedores que no son de OAuth, como EmailAuthProvider, mostrarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporcionó a initializeAuth() o la proporcionó getAuth().

Devuelve:

Prometer<nunca>

Ejemplo

// 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);

volver a cargar(usuario)

Vuelve a cargar los datos de la cuenta de usuario, si se accedió.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.

Devuelve:

Promise<void>

sendEmailVerification(user, actionCodeSettings)

Envía un mensaje de verificación a un usuario.

El proceso de verificación se completa mediante una llamada a applyActionCode().

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
actionCodeSettings ActionCodeSettings | null La configuración ActionCodeSettings.

Devuelve:

Promise<void>

Ejemplo

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);

Desvincula un proveedor de una cuenta de usuario.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
providerId cadena El proveedor que se desvinculará.

Devuelve:

Promesa<Usuario>

updateEmail(user, newEmail)

Actualiza la dirección de correo electrónico del usuario.

Se enviará un correo electrónico a la dirección original (si se configuró) que permite revocar el cambio de dirección de correo electrónico para protegerlo de la usurpación de cuenta.

Este método no es compatible con ningún usuario que haya accedido a través de instancias de Auth creadas con FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
newEmail cadena La nueva dirección de correo electrónico.Arroja el error "auth/operation-not-allowed" cuando [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection). Obsoleto: Usa verifyBeforeUpdateEmail() en su lugar.

Devuelve:

Promise<void>

updatePassword(user, newPassword)

Actualiza la contraseña del usuario.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
newPassword cadena La nueva contraseña.

Devuelve:

Promise<void>

updatePhoneNumber(user, credential)

Actualiza el número de teléfono del usuario.

Este método no funciona en un entorno de Node.js ni en ningún usuario que haya accedido mediante instancias de Auth creadas con una FirebaseServerApp.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
credencial PhoneAuthCredential Una credencial que autentica el nuevo número de teléfono.

Devuelve:

Promise<void>

Ejemplo

// '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 })

Actualiza los datos del perfil de un usuario.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
{ displayName, photoURL: photoUrl } { displayName?: string | null; photoURL?: string | null; }

Devuelve:

Promise<void>

verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings)

Envía un mensaje de verificación a una dirección de correo electrónico nueva.

El correo electrónico del usuario se actualizará al nuevo después de la verificación.

Si tienes un controlador de acciones de correo electrónico personalizado, puedes llamar a applyActionCode() para completar el proceso de verificación.

Signature:

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

Parámetros

Parámetro Tipo Descripción
usuario User El usuario.
newEmail cadena La nueva dirección de correo electrónico que se debe verificar antes de la actualización.
actionCodeSettings ActionCodeSettings | null La configuración ActionCodeSettings.

Devuelve:

Promise<void>

Ejemplo

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);

función(userCredential, ...)

getAdditionalUserInfo(userCredential)

Extrae el objeto AdditionalUserInfo específico del proveedor para la credencial determinada.

Signature:

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

Parámetros

Parámetro Tipo Descripción
userCredential UserCredential La credencial de usuario.

Devuelve:

AdditionalUserInfo | nulo

ActionCodeOperation

Una enumeración de los posibles tipos de acción de correo electrónico.

Signature:

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

Un mapa de posibles códigos de error Auth para facilitar la comparación con los errores que arroja el SDK

Ten en cuenta que no puedes realizar una eliminación de código no utilizado en claves individuales en el mapa; por lo tanto, si usas el mapa, podrías aumentar considerablemente el tamaño del paquete.

Signature:

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

Una implementación de Persistencia de tipo LOCAL que usa localStorage para el almacenamiento subyacente.

Signature:

browserLocalPersistence: Persistence

browserPopupRedirectResolver

Una implementación de PopupRedirectResolver adecuada para aplicaciones basadas en navegador.

Este método no funciona en un entorno de Node.js.

Signature:

browserPopupRedirectResolver: PopupRedirectResolver

browserSessionPersistence

Una implementación de la persistencia de SESSION que usa sessionStorage para el almacenamiento subyacente.

Signature:

browserSessionPersistence: Persistence

cordovaPopupRedirectResolver

Una implementación de PopupRedirectResolver adecuada para aplicaciones basadas en Cordova.

Signature:

cordovaPopupRedirectResolver: PopupRedirectResolver

debugErrorMap

Un mapa de errores detallado con descripciones detalladas de la mayoría de los códigos de error.

Consulta el debate en AuthErrorMap.

Signature:

debugErrorMap: AuthErrorMap

FactorId

Una enumeración de factores que pueden usarse para la autenticación multifactor.

Signature:

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

indexedDBLocalPersistence

Una implementación de Persistencia de tipo LOCAL que usa indexedDB para el almacenamiento subyacente.

Signature:

indexedDBLocalPersistence: Persistence

inMemoryPersistence

Una implementación de Persistent del tipo 'NONE'.

Signature:

inMemoryPersistence: Persistence

OperationType

Enumeración de los tipos de operaciones admitidos.

Signature:

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

prodErrorMap

Un mapa de errores mínimo con todos los mensajes de error detallados quitados

Consulta el debate en AuthErrorMap.

Signature:

prodErrorMap: AuthErrorMap

ProviderId

Es una enumeración de los proveedores admitidos.

Signature:

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

SignInMethod

Enumeración de los métodos de acceso compatibles.

Signature:

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

Mapa de parámetros personalizados de OAuth.

Signature:

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

NextOrObserver

Definición de tipo para una devolución de llamada de evento.

Signature:

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

PhoneInfoOptions

Es la información necesaria para verificar la propiedad de un número de teléfono.

La información necesaria depende de si estás haciendo un acceso de un solo factor, una inscripción de varios factores o un acceso de varios factores.

Signature:

export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;

UserProfile

Perfil de usuario utilizado en AdditionalUserInfo.

Signature:

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