auth package

Firebase Authentication

Funciones

Función Descripción
function(app, ...)
getAuth(app) Muestra la instancia de Auth asociada con la FirebaseApp proporcionada. Si no existe ninguna 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 Dependencias.
function(storage, ...)
getReactNativePersiste(storage). Muestra un objeto de persistencia que une AsyncStorage importado desde react-native o @react-native-community/async-storage, y 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 o algún otro mecanismo fuera de banda.
beforeAuthStateChanged(auth, Devolución de llamada, onAbort) Agrega una devolución de llamada de bloqueo que se ejecuta antes de que un cambio de estado de autenticación configure un usuario nuevo.
checkActionCode(auth, oobCode); Comprueba un código de verificación que se envía al usuario por correo electrónico o algún otro mecanismo fuera de banda.
confirmPasswordReset(auth, oobCode, newPassword) Completa el proceso de restablecimiento de la contraseña, con un código de confirmación y una contraseña nueva.
connectAuthEmulator(auth, url, options) Cambia la instancia de 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 cuenta de usuario nueva asociada con la dirección de correo electrónico y la contraseña especificadas.
fetchSignInMethodsForEmail(autenticación, correo electrónico) Obtiene la lista de métodos de acceso posibles para la dirección de correo electrónico determinada. Este método muestra una lista vacía cuando la Email Enumeration Protection está habilitada, sin importar la cantidad de métodos de autenticación disponibles para el correo electrónico determinado.
getMultiFactorResolver(autenticación, error) Proporciona un MultiFactorResolver adecuado para completar un flujo de varios factores.
getRedirectResult(autenticación, agente de resolución) Muestra una UserCredential del flujo de acceso basado en redireccionamientos.
inicializalRecaptchaConfig(auth) Carga la configuración de reCAPTCHA en la instancia Auth.
isSignInWithEmailLink(auth, emailLink) Verifica si un vínculo entrante es un acceso con un vínculo de correo electrónico adecuado para signInWithEmailLink().
onAuthStateChanged(auth, nextOrObserver, error, completado) Agrega un observador para los cambios en el estado de acceso del usuario.
onIdTokenChanged(auth, nextOrObserver, error, completado) Agrega un observador para los cambios en el token de ID del usuario que accedió.
revokeAccessToken(autenticación, token) Revoca el token de acceso proporcionado. Actualmente, solo se admiten tokens de acceso de OAuth de Apple.
sendPasswordResetEmail(auth, email, actionCodeSettings) Envía un correo electrónico de restablecimiento de contraseña a la dirección proporcionada. Este método no arroja un error cuando no hay una cuenta de usuario con la dirección de correo electrónico determinada y la 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.
setPersistencia(autenticación, persistencia) Cambia el tipo de persistencia en la instancia de Auth para la sesión Auth guardada actualmente y aplica este tipo de persistencia para futuras solicitudes de acceso, incluido el acceso con solicitudes de redireccionamiento.
signInAnonymously(autenticación) Accede de forma asíncrona como usuario anónimo.
signInWithCredential(autenticación, credencial) Accede de forma asíncrona con las credenciales proporcionadas.
signInWithCustomToken(auth, customToken) Accede de forma asíncrona con un token personalizado.
signInWithEmailAndPassword(autenticación, correo electrónico y contraseña) 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(autenticación, proveedor, agente de resolución) Autentica un cliente de Firebase mediante un flujo de autenticación de OAuth basado en ventanas emergentes.
signInWithRedirect(autenticación, proveedor, agente de resolución) Autentica un cliente de Firebase mediante un flujo de redireccionamiento de página completa.
signOut(autenticación) Sale del usuario actual.
updateCurrentUser(autenticación, usuario) Establece de forma asíncrona al usuario proporcionado como Auth.currentUser en la instancia de Auth.
usarDeviceLanguage(auth) Establece el idioma actual en la preferencia predeterminada de dispositivo o navegador.
validatePassword(auth, password) Valida la contraseña con la política de contraseñas configurada para el proyecto o usuario.
verifyPasswordResetCode(auth, code) Comprueba un código de restablecimiento de contraseña que se envía al usuario por correo electrónico u otro mecanismo fuera de banda.
function(link, ...)
parseActionCodeURL(vínculo) Analiza la cadena de 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(usuario) Borra el usuario y sale de su cuenta.
getIdToken(user, forceRefresh) Muestra un token web JSON (JWT) que se usa para identificar al usuario en un servicio de Firebase.
getIdTokenResult(user, forceRefresh) Devuelve un token web JSON (JWT) deserializado que se usa para identificar al usuario en un servicio de Firebase.
linkWithCredential(usuario, credencial) 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(usuario, proveedor, agente de resolución) Vincula el proveedor autenticado con la cuenta de usuario mediante un flujo de OAuth basado en ventanas emergentes.
linkWithRedirect(usuario, proveedor, agente de resolución) Vincula el OAuthProvider a la cuenta de usuario mediante un flujo de redireccionamiento de página completa.
multifactor(usuario) El MultiFactorUser que corresponde al usuario.
reauthenticatedWithCredential(usuario, credencial) Vuelve a autenticar un usuario con una credencial nueva.
reauthenticatedWithPhoneNumber(user, phoneNumber, appVerifier) Vuelve a autenticar un usuario con una credencial de teléfono nueva.
reauthenticatedWithPopup(usuario, proveedor, agente de resolución) Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de OAuth basado en ventanas emergentes.
reauthenticatedWithRedirect(usuario, proveedor, agente de resolución) Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de redireccionamiento de página completa.
reload(usuario) Vuelve a cargar los datos de la cuenta de usuario si se accedió.
sendEmailVerificación(usuario, actionCodeSettings) Se 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(usuario, credencial) 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 campo AdditionalUserInfo específico del proveedor para la credencial determinada.

Clases

Clase Descripción
ActionCodeURL Una clase de utilidad para analizar URL de acciones de correo electrónico, como restablecimiento de contraseña, verificación de correo electrónico, acceso mediante vínculo 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 el 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 OAuthCredential genéricos.
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 (en inglés) 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 opcionales de paquete 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 de Firebase Auth.
Error de autenticación 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 de Auth.
Configuración Interfaz que representa la configuración de Auth.
ConfirmationResult Es el resultado de una llamada de acceso, vinculación o renovación de autenticació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 de token de ID obtenido de User.getIdTokenResult().
MultiFactorAssertion Es la clase base para confirmar la propiedad de un segundo factor.
MultiFactorError El error que se muestra cuando el usuario necesita proporcionar un segundo factor para acceder correctamente.
MultiFactorInfo 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 sesión de varios factores que se usa para inscribir un segundo factor en 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 correspondientes a un User.
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 infringieron y cuáles son los requisitos
Persistencia Una interfaz que cubre los tipos de mecanismos de persistencia posibles.
PhoneMultiFactorAssertion Es la clase para confirmar la propiedad de un segundo factor de teléfono. Proporcionado por PhoneMultiFactorGenerator.assertion().
PhoneMultiFactorEnrollInfoOptions Opciones que se usan para inscribir un segundo factor.
PhoneMultiFactorInfo Es la subclase de la interfaz MultiFactorInfo para los factores de segundos 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 Es un agente de resolución que se usa para controlar operaciones específicas del DOM, como signInWithPopup() o signInWithRedirect().
ReactNativeAsyncStorage. Interfaz para un AsyncStorage proporcionado.
RecaptchaParameters Interfaz que representa los parámetros de reCAPTCHA.Consulta la documentación de reCAPTCHA 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 procese.Para un reCAPTCHA invisible, establece la clave size en invisible.
TotpMultiFactorAssertion 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 de TOTP. El factorId de este segundo factor es FactorId.TOTP.
Usuario Una cuenta de usuario
Credencial de usuario Una estructura que contiene un User, un OperationType y el ID del proveedor.
Información de usuario 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 acciones 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
browserLocalPersistencia Una implementación de Persistencia de tipo LOCAL con localStorage para el almacenamiento subyacente.
browserPopupRedirectResolver; Una implementación de PopupRedirectResolver adecuada para aplicaciones basadas en navegadores.
browserSessionPersistencia Una implementación de Persistencia de SESSION con 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 de varios factores.
indexedDBLocalPersistencia Una implementación de Persistencia de tipo LOCAL con indexedDB para el almacenamiento subyacente.
inMemoryPersistencia Una implementación de Persistencia del tipo “NONE”.
Tipo de operación Enumeración de los tipos de operaciones admitidos.
prodErrorMap Un mapa de error mínimo sin todos los mensajes de error detallados.Consulta el debate en AuthErrorMap.
ProviderId. Enumeración de los proveedores admitidos.
SignInMethod Enumeración de los métodos de acceso admitidos.

Escribe alias

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

función(app, ...)

getAuth(aplicación)

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

Firma:

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

Parámetros

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

Muestra:

Autenticación

inicializaAuth(app, dependencias)

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

Esta función te permite tener más control sobre la instancia de Auth que getAuth(). getAuth usa 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 para la mayoría de los casos de uso. Usa initializeAuth si necesitas controlar qué capa de persistencia se usa, 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 quieres que las cuentas se guarden únicamente para la sesión actual, inicializa Auth con lo siguiente:

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
app App de Firebase
dependencias Dependencias

Muestra:

Autenticación

función(almacenamiento, ...)

getReactNativePersistencia(almacenamiento)

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
almacenamiento ReactNativeAsyncStorage.

Muestra:

Persistencia

función(autenticación, ...)

applyActionCode(auth, oobCode)

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

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

beforeAuthStateChanged(autenticación, devolución de llamada, onAbort)

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
callback (usuario: Usuario | nulo) => void | Promesa<void> Se activa la devolución de llamada antes de que se establezca el valor de usuario nuevo. Si esto se arroja, se bloqueará al usuario para que no se configure.
OnAbort () => anular La devolución de llamada se activa si se genera una devolución de llamada beforeAuthStateChanged() posterior, lo que te permite deshacer los efectos secundarios.

Muestra:

Anular la suscripción

checkActionCode(auth, oobCode)

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

Firma:

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

Parámetros

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

Muestra:

Promesa<ActionCodeInfo>

metadatos sobre el código.

confirmPasswordReset(auth, oobCode, newPassword)

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

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

connectAuthEmulator(auth, url, options)

Cambia la instancia de 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 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.

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
url string Es 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.

Muestra:

void

Ejemplo

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

createUserWithEmailAndPassword(autenticación, correo electrónico y contraseña)

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

Cuando la cuenta de usuario se cree 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 las instancias Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

Promesa<UserCredential>

recuperarSignInMethodsForEmail(autenticación, correo electrónico)

Obtiene la lista de métodos de acceso posibles para la dirección de correo electrónico determinada. Este método muestra una lista vacía cuando la Email Enumeration Protection está habilitada, sin importar 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.

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
correo electrónico string La dirección de correo electrónico del usuario.Obsoleto. Se recomienda migrar desde este método como práctica recomendada de seguridad. Obtén más información en la documentación de Identity Platform sobre la Protección de la enumeración de correo electrónico.

Muestra:

Promise&lt;string[]&gt;

getMultiFactorResolver(autenticación, error)

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
error MultiFactorError El MultiFactorError generado durante una operación de acceso o de reautenticación.

Muestra:

MultiFactorResolver

getRedirectResult(autenticación, agente de resolución)

Muestra una UserCredential del flujo de acceso basado en redireccionamientos.

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

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

Firma:

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

Parámetros

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

Muestra:

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

inicializaRecaptchaConfig(auth)

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

Esta acción cargará la configuración de reCAPTCHA, que indica si el flujo de verificación de reCAPTCHA se debe activar para cada proveedor de Auth, en la sesión de Auth actual.

Si no se invoca initialRecaptchaConfig(), el flujo de Auth siempre se iniciará sin la verificación de reCAPTCHA. Si el proveedor está configurado para requerir la verificación de reCAPTCHA, el SDK cargará la configuración de reCAPTCHA de forma transparente y reiniciará los flujos de Auth.

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

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

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

Ejemplo

initializeRecaptchaConfig(auth);

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
Vínculo de correo electrónico string El vínculo que se envía a la dirección de correo electrónico del usuario.

Muestra:

booleano

onAuthStateChanged(auth, nextOrObserver, error, completado)

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

Para mantener el comportamiento anterior, consulta onIdTokenChanged().

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
nextOrObserver NextOrObserver<Usuario> se activa la devolución de llamada al realizar un cambio.
error ErrorFn Obsoleto. Esta devolución de llamada nunca se activa. Los errores de acceso y salida pueden capturarse en las promesas que se muestran cuando se usan las funciones para acceder y salir.
finalizado Fn.completo Obsoleto. Esta devolución de llamada nunca se activa.

Muestra:

Anular la suscripción

onIdTokenChanged(auth, nextOrObserver, error, completado)

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 una vez que caduque el token de ID. Usa User.getIdToken() para actualizar el token de ID.

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
nextOrObserver NextOrObserver<Usuario> se activa la devolución de llamada al realizar un cambio.
error ErrorFn Obsoleto. Esta devolución de llamada nunca se activa. Los errores de acceso y salida pueden capturarse en las promesas que se muestran cuando se usan las funciones para acceder y salir.
finalizado Fn.completo Obsoleto. Esta devolución de llamada nunca se activa.

Muestra:

Anular la suscripción

revocaAccessToken(autenticación, token)

Revoca el token de acceso proporcionado. Actualmente, solo se admiten tokens de acceso de OAuth de Apple.

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

sendPasswordResetEmail(autenticación, correo electrónico, actionCodeSettings)

Envía un correo electrónico de restablecimiento de contraseña a la dirección proporcionada. Este método no arroja un error cuando no hay una cuenta de usuario con la dirección de correo electrónico determinada y la 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 y la contraseña nueva que especificó el usuario.

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
correo electrónico string La dirección de correo electrónico del usuario.
actionCodeSettings ActionCodeSettings La ActionCodeSettings.

Muestra:

Promesa<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(autenticación, correo electrónico, 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 y el vínculo de correo electrónico que se proporcionan en el mensaje que se envió al usuario.

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación
correo electrónico string La dirección de correo electrónico del usuario.
actionCodeSettings ActionCodeSettings La ActionCodeSettings.

Muestra:

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

setPersistencia(autenticación, persistencia)

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

De esta forma, es más fácil para un usuario que acceda especificar si su sesión debe recordarse o no. También facilita que nunca conserves el 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 Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

Una Promise que se resuelve una vez que se completa el cambio de persistencia.

Ejemplo

setPersistence(auth, browserSessionPersistence);

signInAnónimo(autenticación)

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

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

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

Firma:

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

Parámetros

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

Muestra:

Promesa<UserCredential>

signInWithCredential(autenticación, credencial)

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 Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

Promesa<UserCredential>

signInWithCustomToken(auth, customToken)

Accede de forma asíncrona con un token personalizado.

Los tokens personalizados se usan para integrar Firebase Auth en los sistemas de autenticación existentes y se deben generar mediante 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, caducó o no lo acepta el servicio de Firebase Auth.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
Token personalizado string El token personalizado con el que se accederá.

Muestra:

Promesa<UserCredential>

signInWithEmailAndPassword(autenticación, correo electrónico y contraseña)

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

Falla con un error si la dirección de correo electrónico y la contraseña no coinciden. Cuando la Protección de enumeración de correo electrónico está habilitada, este método falla con "auth/invalid-credential" en caso de un correo electrónico/contraseña no válido.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
correo electrónico string La dirección de correo electrónico de los usuarios.
contraseña string La contraseña del usuario.

Muestra:

Promesa<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, este se infiere de la URL actual.

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

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
correo electrónico string La dirección de correo electrónico del usuario.
Vínculo de correo electrónico string El vínculo que se envía a la dirección de correo electrónico del usuario.

Muestra:

Promesa<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 proporcionado y muestra un ConfirmationResult. Una vez que el usuario proporcione el código que se envió a su teléfono, llama a ConfirmationResult.confirm() con el código para que el usuario acceda.

Para prevenir 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 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 Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

Parámetro Tipo Descripción
auth Autenticación La instancia Auth.
Númerodeteléfono string Es el número de teléfono del usuario en formato E.164 (p.ej., +16505550101).
AppVerifier ApplicationVerifier El ApplicationVerifier.

Muestra:

Promesa<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(autenticación, proveedor, agente de resolución)

Autentica un cliente de Firebase mediante un flujo de autenticación de OAuth basado en ventanas emergentes.

Si tiene éxito, muestra al usuario que accedió junto con la credencial del proveedor. Si no se pudo acceder, se muestra 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 Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

Promesa<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(autenticación, proveedor, agente de resolución)

Autentica un cliente de Firebase mediante un flujo de redireccionamiento de página completa.

Para manejar 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 Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

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(autenticación)

Sale del usuario actual.

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

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

updateCurrentUser(autenticación, usuario)

Establece de forma asíncrona al usuario proporcionado como Auth.currentUser en la instancia de Auth.

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

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

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

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

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

useDeviceLanguage(auth)

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

Firma:

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

Parámetros

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

Muestra:

void

validPassword(auth, password)

Valida la contraseña con 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 configurada 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 se llamó a este método anteriormente, este método usará la política más reciente disponible cuando se vuelva a llamar.

Firma:

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

Parámetros

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

Muestra:

Promesa<PasswordValidationStatus>

Ejemplo

validatePassword(auth, 'some-password');

VerifyPasswordResetCode(auth, code)

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

Firma:

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

Parámetros

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

Muestra:

Promesa<string>

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

analizadorActionCodeURL(vínculo)

Analiza la cadena de 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.

Firma:

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

Parámetros

Parámetro Tipo Descripción
link string

Muestra:

ActionCodeURL | nulo

función(usuario, ...)

deleteUser(usuario)

Borra el usuario y sale de su cuenta.

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

getIdToken(usuario, ForceRefresh)

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

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
forzar la actualización booleano Fuerza la actualización sin importar el vencimiento del token.

Muestra:

Promesa<string>

getIdTokenResult(usuario, ForceRefresh)

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

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
forzar la actualización booleano Fuerza la actualización sin importar el vencimiento del token.

Muestra:

Promesa<IdTokenResult>

linkWithCredential(usuario, credencial)

Vincula la cuenta de usuario con las credenciales determinadas.

Se puede usar un AuthProvider para generar la credencial.

Firma:

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

Parámetros

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

Muestra:

Promesa<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.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
Númerodeteléfono string Es el número de teléfono del usuario en formato E.164 (p.ej., +16505550101).
AppVerifier ApplicationVerifier El ApplicationVerifier.

Muestra:

Promesa<ConfirmationResult>

linkWithPopup(usuario, proveedor, agente de resolución)

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

Si la vinculación es exitosa, el resultado devuelto contendrá el usuario y la credencial del proveedor.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
proveedor AuthProvider El proveedor que se debe autenticar. El proveedor debe ser un OAuthProvider. Los proveedores que no sean de OAuth, como EmailAuthProvider, arrojarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporciona a inicialAuth() o la proporciona getAuth().

Muestra:

Promesa<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(usuario, proveedor, agente de resolución)

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

Para manejar 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 Auth creadas con una FirebaseServerApp.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
proveedor AuthProvider El proveedor que se debe autenticar. El proveedor debe ser un OAuthProvider. Los proveedores que no sean de OAuth, como EmailAuthProvider, arrojarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporciona a inicialAuth() o la proporciona getAuth().

Muestra:

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(usuario)

El MultiFactorUser que corresponde al usuario.

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

Firma:

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

Parámetros

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

Muestra:

MultiFactorUser

reauthenticatedWithCredential(usuario, credencial)

Vuelve a autenticar un usuario con una credencial nueva.

Úsalas antes de las operaciones, como updatePassword(), que requieren tokens de intentos de acceso recientes. Puedes usar este método para la recuperación ante un error CREDENTIAL_TOO_OLD_LOGIN_AGAIN o TOKEN_EXPIRED.

Este método no es compatible con ninguna instancia de User que haya accedido a una instancia de Auth creada con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

Promesa<UserCredential>

reauthenticatedWithPhoneNumber(usuario, número de teléfono, appVerifier)

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

Úsalas antes de las 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 a una instancia de Auth creada con una FirebaseServerApp.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
Númerodeteléfono string Es el número de teléfono del usuario en formato E.164 (p.ej., +16505550101).
AppVerifier ApplicationVerifier El ApplicationVerifier.

Muestra:

Promesa<ConfirmationResult>

reauthenticatedWithPopup(usuario, proveedor, agente de resolución)

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

Si la reautenticación es exitosa, el resultado devuelto contendrá al 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 a una instancia de Auth creada con una FirebaseServerApp.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
proveedor AuthProvider El proveedor que se debe autenticar. El proveedor debe ser un OAuthProvider. Los proveedores que no sean de OAuth, como EmailAuthProvider, arrojarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporciona a inicialAuth() o la proporciona getAuth().

Muestra:

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

reauthenticatedWithRedirect(usuario, proveedor, agente de resolución)

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

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

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
proveedor AuthProvider El proveedor que se debe autenticar. El proveedor debe ser un OAuthProvider. Los proveedores que no sean de OAuth, como EmailAuthProvider, arrojarán un error.
agente de resolución PopupRedirectResolver Una instancia de PopupRedirectResolver, opcional si ya se proporciona a inicialAuth() o la proporciona getAuth().

Muestra:

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ó.

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

sendEmailVerificación(usuario, actionCodeSettings)

Se envía un mensaje de verificación a un usuario.

El proceso de verificación se completa llamando a applyActionCode().

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
actionCodeSettings ActionCodeSettings | nulo La ActionCodeSettings.

Muestra:

Promesa<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.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
providerId string El proveedor que se desvinculará.

Muestra:

Promesa<Usuario>

updateEmail(usuario, nuevocorreoelectrónico)

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 ninguna instancia de User que haya accedido a una instancia de Auth creada con una FirebaseServerApp.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
Correo electrónico nuevo string La nueva dirección de correo electrónico.Muestra "auth/operation-not-allowed" cuando la Protección de enumeración de correo electrónico está habilitada. Obsoleto: Usa verifyBeforeUpdateEmail() en su lugar.

Muestra:

Promesa<void>

updatePassword(user, newPassword)

Actualiza la contraseña del usuario.

Firma:

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

Parámetros

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

Muestra:

Promesa<void>

updatePhoneNumber(usuario, credencial)

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 a una instancia de Auth creada con una FirebaseServerApp.

Firma:

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

Parámetros

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

Muestra:

Promesa<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(usuario, { displayName, photoURL: photoUrl })

Actualiza los datos del perfil de un usuario.

Firma:

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 Usuario El usuario.
{ displayName, photoURL: photoUrl } { displayName?: cadena | null; fotoURL?: cadena | null; }.

Muestra:

Promesa<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 completar el proceso de verificación llamando a applyActionCode().

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
Correo electrónico nuevo string La nueva dirección de correo electrónico que se debe verificar antes de realizar la actualización.
actionCodeSettings ActionCodeSettings | nulo La ActionCodeSettings.

Muestra:

Promesa<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 campo AdditionalUserInfo específico del proveedor para la credencial determinada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
Credencial de usuario Credencial de usuario Es la credencial de usuario.

Muestra:

AdditionalUserInfo en la nulo

ActionCodeOperation

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

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

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 es posible usar la técnica de árbol para claves individuales en el mapa; por lo tanto, si utilizas el mapa, podrías aumentar considerablemente el tamaño del paquete.

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";
}

navegadorLocalPersistencia

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

Firma:

browserLocalPersistence: Persistence

navegadorPopupRedirectResolver

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

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

Firma:

browserPopupRedirectResolver: PopupRedirectResolver

navegadorSessionPersistencia

Una implementación de Persistencia de SESSION con sessionStorage para el almacenamiento subyacente.

Firma:

browserSessionPersistence: Persistence

cordovaPopupRedirectResolver

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

Firma:

cordovaPopupRedirectResolver: PopupRedirectResolver

DebugErrorMap

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

Consulta el debate en AuthErrorMap.

Firma:

debugErrorMap: AuthErrorMap

ID de factor

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

Firma:

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

indexDBLocalPersistencia

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

Firma:

indexedDBLocalPersistence: Persistence

inMemoryPersistencia

Una implementación de Persistencia del tipo “NONE”.

Firma:

inMemoryPersistence: Persistence

OperationType

Enumeración de los tipos de operaciones admitidos.

Firma:

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

prodErrorMap

Un mapa de error mínimo sin todos los mensajes de error detallados.

Consulta el debate en AuthErrorMap.

Firma:

prodErrorMap: AuthErrorMap

ID de proveedor

Enumeración de los proveedores admitidos.

Firma:

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

Método de acceso

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

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";
}

Parámetros personalizados

Mapa de parámetros personalizados de OAuth.

Firma:

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

NextOrObserver

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

Firma:

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

Opciones PhoneInfo

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

La información que se te solicite dependerá de si accedes a una cuenta de un solo factor, si realizas una inscripción de varios factores o si accedes a varios factores.

Firma:

export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;

UserProfile

Perfil de usuario que se usa en AdditionalUserInfo.

Firma:

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