auth package

Autenticación de base de fuego

Funciones

Función Descripción
función (aplicación, ...)
obtenerAuth(aplicación) Devuelve la instancia de autenticación asociada con la FirebaseApp proporcionada. . Si no existe ninguna instancia, inicializa una instancia de autenticación con dependencias predeterminadas específicas de la plataforma.
inicializarAuth(aplicación, departamentos) Inicializa una instancia de autenticación con control detallado sobre las dependencias . .
función (almacenamiento, ...)
getReactNativePersistence(almacenamiento) Devuelve un objeto de persistencia que envuelve AsyncStorage importado de react-native o @react-native-community/async-storage y se puede usar en el campo de dependencia de persistencia en inicializeAuth() .
función (autenticación, ...)
aplicarActionCode(autenticación, oobCode) Aplica un código de verificación enviado al usuario por correo electrónico u otro mecanismo fuera de banda.
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 establezca un nuevo usuario.
checkActionCode(autenticación, oobCode) Comprueba un código de verificación enviado al usuario por correo electrónico u otro mecanismo fuera de banda.
confirmarContraseñaRestablecer(auth, oobCode, nuevaContraseña) Completa el proceso de restablecimiento de contraseña, recibiendo un código de confirmación y una nueva contraseña.
connectAuthEmulator(autenticación, URL, opciones) Cambia la instancia de Auth para comunicarse con Firebase Auth Emulator, en lugar de los servicios de producción de Firebase Auth.
crearUsuarioConEmailAndPassword(autenticación, correo electrónico, contraseña) Crea una nueva cuenta de usuario asociada con la dirección de correo electrónico y la contraseña especificadas.
fetchSignInMethodsForEmail(autenticación, correo electrónico) Obtiene la lista de posibles métodos de inicio de sesión para la dirección de correo electrónico proporcionada. Este método devuelve una lista vacía cuando [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está habilitada, independientemente de la cantidad de métodos de autenticación disponibles para el correo electrónico dado.
getMultiFactorResolver(autenticación, error) Proporciona un MultiFactorResolver adecuado para completar un flujo multifactor.
getRedirectResult(autenticación, solucionador) Devuelve una UserCredential del flujo de inicio de sesión basado en redireccionamiento.
inicializarRecaptchaConfig(autenticación) Carga la configuración de reCAPTCHA en la instancia Auth .
isSignInWithEmailLink(autenticación, enlace de correo electrónico) Comprueba si un enlace entrante es un enlace de inicio de sesión con correo electrónico adecuado para signInWithEmailLink() .
onAuthStateChanged(auth, nextOrObserver, error, completado) Agrega un observador para los cambios en el estado de inicio de sesión del usuario.
onIdTokenChanged (autenticación, nextOrObserver, error, completado) Agrega un observador para los cambios en el token de identificación del usuario que inició sesión.
revocarToken de acceso (autenticación, token) Revoca el token de acceso proporcionado. Actualmente solo admite tokens de acceso Apple OAuth.
enviarContraseñaResetEmail(autenticación, correo electrónico, configuración de código de acción) Envía un correo electrónico para restablecer la contraseña a la dirección de correo electrónico proporcionada. Este método no genera un error cuando no hay una cuenta de usuario con la dirección de correo electrónico proporcionada y [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está habilitada .
sendSignInLinkToEmail(autenticación, correo electrónico, configuración de código de acción) Envía un enlace de correo electrónico de inicio de sesión al usuario con el correo electrónico especificado.
setPersistence(autenticación, persistencia) Cambia el tipo de persistencia en la instancia de autenticación para la sesión Auth guardada actualmente y aplica este tipo de persistencia para futuras solicitudes de inicio de sesión, incluido el inicio de sesión con solicitudes de redireccionamiento.
iniciar sesión de forma anónima (autenticación) Inicia sesión de forma asincrónica como usuario anónimo.
iniciar sesión con credencial (autenticación, credencial) Inicia sesión de forma asincrónica con las credenciales proporcionadas.
iniciar sesión con CustomToken (autenticación, token personalizado) Inicia sesión de forma asincrónica mediante un token personalizado.
iniciar sesión con correo electrónico y contraseña (autenticación, correo electrónico, contraseña) Inicia sesión de forma asincrónica con un correo electrónico y una contraseña.
iniciar sesión con enlace de correo electrónico (autenticación, correo electrónico, enlace de correo electrónico) Inicia sesión de forma asincrónica mediante un correo electrónico y un enlace de correo electrónico de inicio de sesión.
iniciar sesión con número de teléfono (autenticación, número de teléfono, verificador de aplicación) Inicia sesión de forma asincrónica utilizando un número de teléfono.
signInWithPopup(autenticación, proveedor, solucionador) Autentica un cliente de Firebase mediante un flujo de autenticación OAuth basado en ventanas emergentes.
signInWithRedirect (autenticación, proveedor, solucionador) Autentica un cliente de Firebase mediante un flujo de redireccionamiento de página completa.
cerrar sesión (autenticación) Cierra la sesión del usuario actual.
actualizarUsuarioActual(autenticación, usuario) Establece de forma asincrónica el usuario proporcionado como Auth.currentUser en la instancia de Auth .
utilizarDeviceLanguage(autenticación) Establece el idioma actual según la preferencia predeterminada del dispositivo/navegador.
validarContraseña(autenticación, contraseña) Valida la contraseña con la política de contraseñas configurada para el proyecto o inquilino.
verificarContraseñaResetCode(autenticación, código) Comprueba un código de restablecimiento de contraseña enviado al usuario por correo electrónico u otro mecanismo fuera de banda.
función (enlace, ...)
analizarActionCodeURL(enlace) Analiza la cadena del enlace de acción del correo electrónico y devuelve un ActionCodeURL si el enlace es válido; de lo contrario, devuelve un valor nulo.
función(usuario, ...)
eliminarUsuario(usuario) Elimina y cierra la sesión del usuario.
getIdToken(usuario, forceRefresh) Devuelve un token web JSON (JWT) utilizado para identificar al usuario en un servicio de Firebase.
getIdTokenResult(usuario, forceRefresh) Devuelve un token web JSON (JWT) deserializado que se utiliza para identificar al usuario en un servicio de Firebase.
linkWithCredential(usuario, credencial) Vincula la cuenta de usuario con las credenciales proporcionadas.
linkWithPhoneNumber(usuario, número de teléfono, appVerifier) Vincula la cuenta de usuario con el número de teléfono proporcionado.
linkWithPopup(usuario, proveedor, solucionador) Vincula el proveedor autenticado a la cuenta de usuario mediante un flujo OAuth basado en ventanas emergentes.
linkWithRedirect(usuario, proveedor, solucionador) Vincula OAuthProvider a la cuenta de usuario mediante un flujo de redireccionamiento de página completa.
multifactor(usuario) El MultiFactorUser correspondiente al usuario.
reauthenticateWithCredential(usuario, credencial) Vuelve a autenticar a un usuario utilizando una credencial nueva.
volver a autenticar con número de teléfono (usuario, número de teléfono, verificador de aplicación) Vuelve a autenticar a un usuario utilizando una credencial telefónica nueva.
reauthenticateWithPopup (usuario, proveedor, solucionador) Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de OAuth basado en ventanas emergentes.
reauthenticateWithRedirect (usuario, proveedor, solucionador) Vuelve a autenticar al usuario actual con el OAuthProvider especificado mediante un flujo de redireccionamiento de página completa.
recargar (usuario) Recarga los datos de la cuenta de usuario, si ha iniciado sesión.
enviarEmailVerification(usuario, actionCodeSettings) Envía un correo electrónico de verificación a un usuario.
desvincular (usuario, proveedorId) Desvincula un proveedor de una cuenta de usuario.
actualizarEmail(usuario, nuevoEmail) Actualiza la dirección de correo electrónico del usuario.
actualizarContraseña(usuario, nuevaContraseña) Actualiza la contraseña del usuario.
updatePhoneNumber(usuario, credencial) Actualiza el número de teléfono del usuario.
updateProfile(usuario, { displayName, photoURL: photoUrl }) Actualiza los datos del perfil de un usuario.
verificarBeforeUpdateEmail(usuario, nuevoEmail, actionCodeSettings) Envía un correo electrónico de verificación a una nueva dirección de correo electrónico.
función (credencial de usuario, ...)
getAdditionalUserInfo(credencial de usuario) Extrae información adicional de usuario específica del proveedor para la credencial dada.

Clases

Clase Descripción
URL del código de acción Una clase de utilidad para analizar URL de acciones de correo electrónico, como restablecimiento de contraseña, verificación de correo electrónico, inicio de sesión mediante enlace de correo electrónico, etc.
Credencial de autenticación Interfaz que representa las credenciales devueltas por un AuthProvider .
Credencial de autenticación de correo electrónico Interfaz que representa las credenciales devueltas por EmailAuthProvider para ProviderId .CONTRASEÑA
Proveedor de autenticación de correo electrónico Proveedor para generar EmailAuthCredential .
Proveedor de autenticación de Facebook Proveedor para generar una OAuthCredential para ProviderId .FACEBOOK.
Proveedor de autenticación de Github Proveedor para generar una OAuthCredential para ProviderId .GITHUB.
Proveedor de autenticación de Google Proveedor para generar una OAuthCredential para ProviderId .GOOGLE.
Credencial OAuth Representa las credenciales de OAuth devueltas por un OAuthProvider. .
Proveedor de OAuth Proveedor para generar OAuthCredential genérico .
Credencial de autenticación de teléfono Representa las credenciales devueltas por PhoneAuthProvider . .
Proveedor de autenticación de teléfono Proveedor para generar una PhoneAuthCredential .
TeléfonoMultiFactorGenerador Proveedor para generar una PhoneMultiFactorAssertion .
RecaptchaVerificador Un reCAPTCHA -verificador de aplicaciones basado en.
Proveedor de autenticación SAML Un proveedor de autenticación para SAML.
TotpMultiFactorGenerador Proveedor para generar una 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.
Proveedor de autenticación de Twitter Proveedor para generar una OAuthCredential para ProviderId .GORJEO.

Interfaces

Interfaz Descripción
Información de código de acción Una respuesta de checkActionCode() .
Configuración del código de acción Una interfaz que define la URL de continuación/estado requerida con identificadores de paquete de Android e iOS opcionales.
Información de usuario adicional Una estructura que contiene información de usuario adicional de un proveedor de identidad federado.
Verificador de aplicaciones Un verificador para la verificación de dominios y la prevención de abusos.
autenticación Interfaz que representa el servicio Firebase Auth.
Error de autenticación Interfaz para un error Auth .
AuthErrorMap Una asignación de códigos de error a mensajes de error.
Proveedor de autenticación Interfaz que representa un proveedor de autenticación, utilizada para facilitar la creación de AuthCredential .
Configuración de autenticación Interfaz que representa la configuración de una instancia de autenticación .
configuración Interfaz que representa la configuración Auth .
Resultado de confirmación El resultado de una llamada de inicio de sesión, vinculación o reautenticación de un número de teléfono.
Dependencias Las dependencias que se pueden utilizar para inicializar una instancia de Auth .
Configuración del emulador Configuración del emulador de autenticación de Firebase.
Resultado del token de identificación Interfaz que representa el resultado del token de ID obtenido de User.getIdTokenResult() .
Aserción multifactor La clase base para afirmar la propiedad de un segundo factor.
Error multifactor El error se produce cuando el usuario necesita proporcionar un segundo factor para iniciar sesión correctamente.
Información MultiFactor Una estructura que contiene la información de una entidad de segundo factor.
Resolución multifactor La clase utilizada para facilitar la recuperación de MultiFactorError cuando un usuario necesita proporcionar un segundo factor para iniciar sesión.
Sesión MultiFactor Una interfaz que define el objeto de sesión de múltiples factores utilizado para inscribir un segundo factor en un usuario o ayudar a iniciar sesión en un usuario inscrito con un segundo factor.
Usuario multifactor Una interfaz que define las propiedades y operaciones relacionadas con múltiples factores pertenecientes a un usuario. .
Opciones de credenciales de OAuth Define las opciones para inicializar una OAuthCredential .
token analizado Interfaz que representa un token de identificación analizado.
Política de contraseñas Una estructura que especifica los requisitos de la política de contraseñas.
ContraseñaEstadoValidación 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 posibles tipos de mecanismos de persistencia.
TeléfonoMultiFactorAserción La clase para hacer valer la propiedad de un segundo factor de teléfono. Proporcionado por PhoneMultiFactorGenerator.assertion() .
PhoneMultiFactorEnrollInfoOptions Opciones utilizadas para inscribir un segundo factor.
TeléfonoMultiFactorInfo La subclase de la interfaz MultiFactorInfo para segundos factores de números de teléfono. El factorId de este segundo factor es FactorId .TELÉFONO.
TeléfonoMultiFactorSignInInfoOptions Opciones utilizadas para iniciar sesión con un segundo factor.
PhoneSingleFactorInfoOptions Opciones utilizadas para el inicio de sesión de factor único.
PopupRedirectResolver Un solucionador utilizado para manejar operaciones específicas de DOM como signInWithPopup() o signInWithRedirect() .
ReactNativeAsyncStorage Interfaz para un AsyncStorage suministrado.
RecaptchaParámetros Interfaz que representa los parámetros de reCAPTCHA. Consulte los [documentos reCAPTCHA](https://developers.google.com/recaptcha/docs/display#render_param) para obtener la lista de parámetros aceptados. Se aceptan todos los parámetros excepto sitekey : Firebase Auth proporciona un reCAPTCHA para cada proyecto y configurará la clave del sitio al renderizar. Para un reCAPTCHA invisible, establezca la clave size en invisible .
TotpMultiFactorAserción La clase para afirmar la propiedad de un segundo factor TOTP. Proporcionado por TotpMultiFactorGenerator.assertionForEnrollment() y TotpMultiFactorGenerator.assertionForSignIn() .
TotpMultiFactorInfo La subclase de la interfaz MultiFactorInfo para segundos factores TOTP. El factorId de este segundo factor es FactorId .TOTP.
Usuario Una cuenta de usuario.
Credencial de usuario Una estructura que contiene un usuario. , el tipo de operación y el ID del proveedor.
Información de usuario Información del perfil de usuario, visible solo para las aplicaciones del proyecto Firebase.
Metadatos de usuario Interfaz que representa los metadatos de un usuario.

variables

Variable Descripción
OperaciónCódigoAcción Una enumeración de los posibles tipos de acciones de correo electrónico.
Códigos de error de autenticación Un mapa de posibles códigos de error Auth , para facilitar la comparación con los errores generados por el SDK.
navegadorLocalPersistencia Una implementación de Persistencia de tipo LOCAL que utiliza localStorage para el almacenamiento subyacente.
navegadorPopupRedirectResolver Una implementación de PopupRedirectResolver adecuada para aplicaciones basadas en navegador.
persistencia de sesión del navegador Una implementación de Persistencia de SESSION usando 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 para la mayoría de los códigos de error. Ver discusión en AuthErrorMap
ID de factor Una enumeración de factores que se pueden utilizar para la autenticación multifactor.
indexadoDBLocalPersistencia Una implementación de Persistencia de tipo LOCAL que utiliza indexedDB para el almacenamiento subyacente.
en memoriapersistencia Una implementación de Persistencia de tipo 'NINGUNO'.
Tipo de operación Enumeración de tipos de operaciones soportadas.
prodErrorMap Un mapa de errores mínimo con todos los mensajes de error detallados eliminados. Ver discusión en AuthErrorMap
ID de proveedor Enumeración de proveedores soportados.
Método de inicio de sesión Enumeración de métodos de inicio de sesión admitidos.

Tipo de alias

Tipo Alias Descripción
Parámetros personalizados Mapa de parámetros personalizados de OAuth.
SiguienteOrObserver Definición de tipo para una devolución de llamada de evento.
Opciones de información del teléfono La información necesaria para verificar la propiedad de un número de teléfono.
Perfil del usuario Perfil de usuario utilizado en AdditionalUserInfo .

función (aplicación, ...)

obtenerAuth(aplicación)

Devuelve la instancia de autenticación asociada con la FirebaseApp proporcionada. . Si no existe ninguna instancia, inicializa una instancia de autenticación con dependencias predeterminadas específicas de la plataforma.

Firma:

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

Parámetros

Parámetro Tipo Descripción
aplicación Aplicación Firebase La aplicación Firebase.

Devoluciones:

autenticación

inicializarAuth(aplicación, departamentos)

Inicializa una instancia de autenticación con control detallado sobre las dependencias . .

Esta función permite más control sobre la instancia de autenticación que getAuth() . getAuth utiliza valores predeterminados específicos de la plataforma para proporcionar las dependencias . En general, getAuth es la forma más sencilla de inicializar Auth y funciona en la mayoría de los casos de uso. Utilice initializeAuth si necesita controlar qué capa de persistencia se utiliza, o para minimizar el tamaño del paquete si no está utilizando signInWithPopup o signInWithRedirect .

Por ejemplo, si su aplicación solo usa cuentas anónimas y solo desea que se guarden cuentas para la sesión actual, inicialice Auth con:

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
aplicación Aplicación Firebase
departamentos Dependencias

Devoluciones:

autenticación

función (almacenamiento, ...)

getReactNativePersistence(almacenamiento)

Devuelve un objeto de persistencia que envuelve AsyncStorage importado desde react-native o @react-native-community/async-storage y se puede utilizar en el campo de dependencia de persistencia en inicializeAuth() .

Firma:

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

Parámetros

Parámetro Tipo Descripción
almacenamiento ReactNativeAsyncStorage

Devoluciones:

Persistencia

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

aplicarActionCode(autenticación, oobCode)

Aplica un código de verificación enviado al usuario por correo electrónico u otro mecanismo fuera de banda.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
código oob cadena Un código de verificación enviado al usuario.

Devoluciones:

Promesa<nulo>

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 establezca un nuevo usuario.

Firma:

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 de autenticación .
llamar de vuelta (usuario: Usuario | nulo) => nulo | Promesa<nulo> devolución de llamada activada antes de que se establezca el nuevo valor de usuario. Si esto arroja, bloquea la configuración del usuario.
onAbort () => nulo La devolución de llamada se activa si se produce una devolución de llamada posterior beforeAuthStateChanged() , lo que le permite deshacer cualquier efecto secundario.

Devoluciones:

Darse de baja

checkActionCode(autenticación, oobCode)

Comprueba un código de verificación enviado al usuario por correo electrónico u otro mecanismo fuera de banda.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
código oob cadena Un código de verificación enviado al usuario.

Devoluciones:

Promesa < ActionCodeInfo >

metadatos sobre el código.

confirmarContraseñaRestablecer(auth, oobCode, nuevaContraseña)

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

Firma:

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 de autenticación .
código oob cadena Un código de confirmación enviado al usuario.
Nueva contraseña cadena La nueva contraseña.

Devoluciones:

Promesa<nulo>

connectAuthEmulator(autenticación, URL, opciones)

Cambia la instancia de Auth para comunicarse con Firebase Auth Emulator, en lugar de los servicios de producción de Firebase Auth.

Esto debe llamarse sincrónicamente inmediatamente después de la primera llamada a inicializeAuth() . No lo utilice con credenciales de producción ya que el tráfico del emulador no está cifrado.

Firma:

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 de autenticación .
URL cadena La URL en la que se ejecuta el emulador (por ejemplo, 'http://localhost:9099').
opciones {disableWarnings: booleano; } Opcional. options.disableWarnings tiene el valor predeterminado false . Configúrelo en true para deshabilitar el banner de advertencia adjunto al DOM.

Devoluciones:

vacío

Ejemplo

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

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

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

Tras la creación exitosa de la cuenta de usuario, este usuario también iniciará sesión en su aplicación.

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

Firma:

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 de autenticación .
correo electrónico cadena La dirección de correo electrónico del usuario.
contraseña cadena La contraseña elegida por el usuario.

Devoluciones:

Promesa< Credencial de usuario >

fetchSignInMethodsForEmail(autenticación, correo electrónico)

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

Esto es útil para diferenciar los métodos de inicio de sesión para el mismo proveedor, por ejemplo. EmailAuthProvider que tiene 2 métodos de inicio de sesión, SignInMethod .EMAIL_PASSWORD y método de inicio de sesión .EMAIL_LINK.

Firma:

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

Parámetros

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

Devoluciones:

Promesa<cadena[]>

getMultiFactorResolver(autenticación, error)

Proporciona un MultiFactorResolver adecuado para completar un flujo multifactor.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
error Error multifactor El MultiFactorError generado durante una operación de inicio de sesión o de reautenticación.

Devoluciones:

Resolución multifactor

getRedirectResult(autenticación, solucionador)

Devuelve una UserCredential del flujo de inicio de sesión basado en redireccionamiento.

Si el inicio de sesión se realizó correctamente, devuelve el usuario que inició sesión. Si el inicio de sesión no se realizó correctamente, se producirá un error. Si no se llamó a ninguna operación de redireccionamiento, devuelve null .

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
solucionador PopupRedirectResolver Una instancia de PopupRedirectResolver , opcional si ya se proporcionó en inicializeAuth() o en getAuth() .

Devoluciones:

Promesa< Credencial de usuario | nulo>

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;

inicializarRecaptchaConfig(autenticación)

Carga la configuración de reCAPTCHA en la instancia 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 inicializeRecaptchaConfig(), el flujo de autenticación siempre comenzará sin la verificación reCAPTCHA. Si el proveedor está configurado para requerir la verificación de reCAPTCHA, el SDK cargará de forma transparente la configuración de reCAPTCHA y reiniciará los flujos de autenticación.

Por lo tanto, al llamar a este método opcional, reducirá la latencia de futuros flujos de autenticación. Cargar la configuración de reCAPTCHA temprano también mejorará la señal recopilada por reCAPTCHA.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .

Devoluciones:

Promesa<nulo>

Ejemplo

initializeRecaptchaConfig(auth);

Comprueba si un enlace entrante es un enlace de inicio de sesión con correo electrónico adecuado para signInWithEmailLink() .

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
correo electrónicoEnlace cadena El enlace enviado a la dirección de correo electrónico del usuario.

Devoluciones:

booleano

onAuthStateChanged(auth, nextOrObserver, error, completado)

Agrega un observador para los cambios en el estado de inicio de sesión del usuario.

Para mantener el comportamiento anterior, consulte onIdTokenChanged() .

Firma:

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 de autenticación .
siguienteOrObserver SiguienteOrObserver < Usuario > devolución de llamada activada en caso de cambio.
error ErrorFn Obsoleto. Esta devolución de llamada nunca se activa. Los errores al iniciar/cerrar sesión pueden detectarse en las promesas devueltas por las funciones de inicio/cierre de sesión.
terminado CompletaFn Obsoleto. Esta devolución de llamada nunca se activa.

Devoluciones:

Darse de baja

onIdTokenChanged (autenticación, nextOrObserver, error, completado)

Agrega un observador para los cambios en el token de identificación del usuario que inició sesión.

Esto incluye eventos de inicio de sesión, cierre de sesión y actualización de tokens. Esto no se activará automáticamente cuando expire el token de identificación. Utilice User.getIdToken() para actualizar el token de identificación.

Firma:

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 de autenticación .
siguienteOrObserver SiguienteOrObserver < Usuario > devolución de llamada activada en caso de cambio.
error ErrorFn Obsoleto. Esta devolución de llamada nunca se activa. Los errores al iniciar/cerrar sesión pueden detectarse en las promesas devueltas por las funciones de inicio/cierre de sesión.
terminado CompletaFn Obsoleto. Esta devolución de llamada nunca se activa.

Devoluciones:

Darse de baja

revocarToken de acceso (autenticación, token)

Revoca el token de acceso proporcionado. Actualmente solo admite tokens de acceso Apple OAuth.

Firma:

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

Parámetros

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

Devoluciones:

Promesa<nulo>

enviarContraseñaResetEmail(autenticación, correo electrónico, configuración de código de acción)

Envía un correo electrónico para restablecer la contraseña a la dirección de correo electrónico proporcionada. Este método no genera un error cuando no hay una cuenta de usuario con la dirección de correo electrónico proporcionada y [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 contraseña, llame a confirmPasswordReset() con el código proporcionado en el correo electrónico enviado al usuario, junto con la nueva contraseña especificada por el usuario.

Firma:

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 de autenticación .
correo electrónico cadena La dirección de correo electrónico del usuario.
configuración de código de acción Configuración del código de acción La configuración del código de acción .

Devoluciones:

Promesa<nulo>

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, configuración de código de acción)

Envía un enlace de correo electrónico de inicio de sesión al usuario con el correo electrónico especificado.

La operación de inicio de sesión siempre debe completarse en la aplicación, a diferencia de otras acciones de correo electrónico fuera de banda (restablecimiento de contraseña y verificaciones de correo electrónico). Esto se debe a que, al final del flujo, se espera que el usuario inicie sesión y su estado de autenticación persista dentro de la aplicación.

Para completar el inicio de sesión con el enlace de correo electrónico, llame a signInWithEmailLink() con la dirección de correo electrónico y el enlace de correo electrónico proporcionados en el correo electrónico enviado al usuario.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación
correo electrónico cadena La dirección de correo electrónico del usuario.
configuración de código de acción Configuración del código de acción La configuración del código de acción .

Devoluciones:

Promesa<nulo>

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

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

Esto facilita que un usuario que inicia sesión especifique si su sesión debe recordarse o no. También hace que sea más fácil no conservar nunca el estado Auth para aplicaciones que son compartidas por otros usuarios o que tienen datos confidenciales.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
persistencia Persistencia La persistencia al uso.

Devoluciones:

Promesa<nulo>

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

Ejemplo

setPersistence(auth, browserSessionPersistence);

iniciar sesión de forma anónima (autenticación)

Inicia sesión de forma asincrónica como usuario anónimo.

Si ya hay un usuario anónimo que inició sesión, se devolverá ese usuario; de lo contrario, se creará y devolverá una nueva identidad de usuario anónimo.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .

Devoluciones:

Promesa< Credencial de usuario >

iniciar sesión con credencial (autenticación, credencial)

Inicia sesión de forma asincrónica con las credenciales proporcionadas.

Se puede utilizar un AuthProvider para generar la credencial.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
credencial Credencial de autenticación La credencial de autenticación.

Devoluciones:

Promesa< Credencial de usuario >

iniciar sesión con CustomToken (autenticación, token personalizado)

Inicia sesión de forma asincrónica mediante un token personalizado.

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

Se produce un error si el token no es válido, ha caducado o no lo acepta el servicio Firebase Auth.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .
token personalizado cadena El token personalizado con el que iniciar sesión.

Devoluciones:

Promesa< Credencial de usuario >

iniciar sesión con correo electrónico y contraseña (autenticación, correo electrónico, contraseña)

Inicia sesión de forma asincrónica 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 [Protección de enumeración de correo electrónico](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está habilitada, este método falla con "auth/invalid-credential" en caso de una Contraseña de Email.

Firma:

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 de autenticación .
correo electrónico cadena La dirección de correo electrónico de los usuarios.
contraseña cadena La contraseña de los usuarios.

Devoluciones:

Promesa< Credencial de usuario >

Inicia sesión de forma asincrónica mediante un correo electrónico y un enlace de correo electrónico de inicio de sesión.

Si no se pasa ningún enlace, el enlace se deduce de la URL actual.

Se produce un error si la dirección de correo electrónico no es válida o la OTP en el enlace del correo electrónico caduca.

Firma:

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 de autenticación .
correo electrónico cadena La dirección de correo electrónico del usuario.
correo electrónicoEnlace cadena El enlace enviado a la dirección de correo electrónico del usuario.

Devoluciones:

Promesa< Credencial de usuario >

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

iniciar sesión con número de teléfono (autenticación, número de teléfono, verificador de aplicación)

Inicia sesión de forma asincrónica utilizando un número de teléfono.

Este método envía un código por SMS al número de teléfono indicado y devuelve un resultado de confirmación. . Después de que el usuario proporcione el código enviado a su teléfono, llame a ConfirmationResult.confirm() con el código para iniciar sesión.

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 RecaptchaVerifier (como React Native), pero es necesario utilizar una implementación de ApplicationVerifier de terceros.

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

Firma:

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 de autenticación .
número de teléfono cadena El número de teléfono del usuario en formato E.164 (por ejemplo, +16505550101).
appVerifier Verificador de aplicaciones El verificador de aplicaciones .

Devoluciones:

Promesa < Resultado de confirmación >

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, solucionador)

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

Si tiene éxito, devuelve el usuario que inició sesión junto con la credencial del proveedor. Si el inicio de sesión no tuvo éxito, devuelve un objeto de error que contiene información adicional sobre el error.

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

Firma:

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 de autenticación .
proveedor Proveedor de autenticación El proveedor para autenticar. El proveedor tiene que ser un OAuthProvider. . Los proveedores que no son OAuth como EmailAuthProvider arrojarán un error.
solucionador PopupRedirectResolver Una instancia de PopupRedirectResolver , opcional si ya se proporcionó en inicializeAuth() o en getAuth() .

Devoluciones:

Promesa< Credencial de usuario >

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, solucionador)

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

Para manejar los resultados y errores de esta operación, consulte getRedirectResult() . Siga las mejores prácticas al utilizar signInWithRedirect() .

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

Firma:

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 de autenticación .
proveedor Proveedor de autenticación El proveedor para autenticar. El proveedor tiene que ser un OAuthProvider. . Los proveedores que no son OAuth como EmailAuthProvider arrojarán un error.
solucionador PopupRedirectResolver Una instancia de PopupRedirectResolver , opcional si ya se proporcionó en inicializeAuth() o en getAuth() .

Devoluciones:

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

cerrar sesión (autenticación)

Cierra la sesión del usuario actual.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .

Devoluciones:

Promesa<nulo>

actualizarUsuarioActual(autenticación, usuario)

Establece de forma asincrónica el usuario proporcionado como Auth.currentUser en la instancia de Auth .

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

Esto activará los oyentes onAuthStateChanged() y onIdTokenChanged() al igual que otros métodos de inicio de sesión.

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

Firma:

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

Parámetros

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

Devoluciones:

Promesa<nulo>

utilizarDeviceLanguage(autenticación)

Establece el idioma actual según la preferencia predeterminada del dispositivo/navegador.

Firma:

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

Parámetros

Parámetro Tipo Descripción
autenticación autenticación La instancia de autenticación .

Devoluciones:

vacío

validarContraseña(autenticación, contraseña)

Valida la contraseña con la política de contraseñas configurada para el proyecto o inquilino.

Si no se establece ningún ID de inquilino en la instancia Auth , este método utilizará la política de contraseña configurada para el proyecto. De lo contrario, este método utilizará la política configurada para el inquilino. Si no se ha configurado una política de contraseña, se utilizará 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 este método se ha llamado anteriormente, entonces este método utilizará 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
autenticación autenticación La instancia de autenticación .
contraseña cadena La contraseña para validar.

Devoluciones:

Promesa< ContraseñaEstadoValidación >

Ejemplo

validatePassword(auth, 'some-password');

verificarContraseñaResetCode(autenticación, código)

Comprueba un código de restablecimiento de contraseña enviado 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
autenticación autenticación La instancia de autenticación .
código cadena Un código de verificación enviado al usuario.

Devoluciones:

Promesa<cadena>

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

analizarActionCodeURL(enlace)

Analiza la cadena del enlace de acción del correo electrónico y devuelve un ActionCodeURL si el enlace es válido; de lo contrario, devuelve un valor nulo.

Firma:

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

Parámetros

Parámetro Tipo Descripción
enlace cadena

Devoluciones:

URL del código de acción | nulo

función(usuario, ...)

eliminarUsuario(usuario)

Elimina y cierra la sesión del usuario.

Firma:

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

Parámetros

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

Devoluciones:

Promesa<nulo>

getIdToken(usuario, forceRefresh)

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

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
forceRefresh booleano Forzar la actualización independientemente de la caducidad del token.

Devoluciones:

Promesa<cadena>

getIdTokenResult(usuario, forceRefresh)

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

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
forceRefresh booleano Forzar la actualización independientemente de la caducidad del token.

Devoluciones:

Promesa< IdTokenResult >

linkWithCredential(usuario, credencial)

Vincula la cuenta de usuario con las credenciales proporcionadas.

Se puede utilizar 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 Credencial de autenticación La credencial de autenticación.

Devoluciones:

Promesa< Credencial de usuario >

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

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

Este método no funciona en un entorno 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úmero de teléfono cadena El número de teléfono del usuario en formato E.164 (por ejemplo, +16505550101).
appVerifier Verificador de aplicaciones El verificador de aplicaciones .

Devoluciones:

Promesa < Resultado de confirmación >

linkWithPopup(usuario, proveedor, solucionador)

Vincula el proveedor autenticado a la cuenta de usuario mediante un flujo 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 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 Proveedor de autenticación El proveedor para autenticar. El proveedor tiene que ser un OAuthProvider. . Los proveedores que no son OAuth como EmailAuthProvider arrojarán un error.
solucionador PopupRedirectResolver Una instancia de PopupRedirectResolver , opcional si ya se proporcionó en inicializeAuth() o en getAuth() .

Devoluciones:

Promesa< Credencial de usuario >

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, solucionador)

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

Para manejar los resultados y errores de esta operación, consulte getRedirectResult() . Siga las mejores prácticas al utilizar linkWithRedirect() .

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

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 Proveedor de autenticación El proveedor para autenticar. El proveedor tiene que ser un OAuthProvider. . Los proveedores que no son OAuth como EmailAuthProvider arrojarán un error.
solucionador PopupRedirectResolver Una instancia de PopupRedirectResolver , opcional si ya se proporcionó en inicializeAuth() o en getAuth() .

Devoluciones:

Promesa<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 correspondiente al usuario.

Esto se utiliza para acceder a todas las propiedades y operaciones multifactor relacionadas con el usuario.

Firma:

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

Parámetros

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

Devoluciones:

Usuario multifactor

reauthenticateWithCredential(usuario, credencial)

Vuelve a autenticar a un usuario utilizando una credencial nueva.

Úselo antes de operaciones como updatePassword() que requieren tokens de intentos de inicio de sesión recientes. Este método se puede utilizar para recuperarse de un error CREDENTIAL_TOO_OLD_LOGIN_AGAIN o un error TOKEN_EXPIRED .

Firma:

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

Parámetros

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

Devoluciones:

Promesa< Credencial de usuario >

volver a autenticar con número de teléfono (usuario, número de teléfono, verificador de aplicación)

Vuelve a autenticar a un usuario utilizando una credencial telefónica nueva.

Úselo antes de operaciones como updatePassword() que requieren tokens de intentos de inicio de sesión recientes.

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

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úmero de teléfono cadena El número de teléfono del usuario en formato E.164 (por ejemplo, +16505550101).
appVerifier Verificador de aplicaciones El verificador de aplicaciones .

Devoluciones:

Promesa < Resultado de confirmación >

reauthenticateWithPopup (usuario, proveedor, solucionador)

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á el usuario y la credencial del proveedor.

Este método no funciona en un entorno node.js.

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 Proveedor de autenticación El proveedor para autenticar. El proveedor tiene que ser un oauthprovider . Los proveedores que no sean OAUTH como SEACTAUTHProvider lanzarán un error.
solucionador PopUpredirectresolver Una instancia de popUpredirectresolver , opcional si ya se suministra a Initializeauth () o proporciona GetAuth () .

Devoluciones:

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

Reautentica al usuario actual con el OAUTHProvider especificado utilizando un flujo de redirección de página completa.

Para manejar los resultados y los errores para esta operación, consulte GetRedirectresult () . Siga las mejores prácticas cuando se use reauthenticate conREDIRECT () .

Este método no funciona en un entorno node.js.

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 Proveedor de autenticación El proveedor para autenticar. El proveedor tiene que ser un oauthprovider . Los proveedores que no sean OAUTH como SEACTAUTHProvider lanzarán un error.
solucionador PopUpredirectresolver Una instancia de popUpredirectresolver , opcional si ya se suministra a Initializeauth () o proporciona GetAuth () .

Devoluciones:

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

Recargar (usuario)

Recarga datos de la cuenta de usuario, si se registra.

Firma:

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

Parámetros

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

Devoluciones:

Promesa<nulo>

sendEmailverification (usuario, ActionCodesettings)

Envía un correo electrónico 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.
configuración de código de acción ActionCodesettings | nulo Las acciones de acción .

Devoluciones:

Promesa<nulo>

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

Desintegra 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.
ID de proveedor cadena El proveedor para no unk.

Devoluciones:

Promesa < usuario >

UpdateMail (usuario, nuevo correo electrónico)

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

Se enviará un correo electrónico a la dirección de correo electrónico original (si se estableció) que permite revocar el cambio de dirección de correo electrónico, para protegerlos del secuestro de cuentas.

Firma:

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

Parámetros

Parámetro Tipo Descripción
usuario Usuario El usuario.
Nuevo Email cadena La nueva dirección de correo electrónico. Lanza el error "Auth/Operation-Not-ALLOWED" cuando [Protección de enumeración de correo electrónico] (https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está habilitado. Descargado: use VerifyBeForeUpdateEmail () en su lugar.

Devoluciones:

Promesa<nulo>

UpdatePassword (usuario, 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.
Nueva contraseña cadena La nueva contraseña.

Devoluciones:

Promesa<nulo>

UpdatePhonEnumber (usuario, credencial)

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

Este método no funciona en un entorno node.js.

Firma:

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

Parámetros

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

Devoluciones:

Promesa<nulo>

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 de 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 | nulo; Photourl?: cadena | nulo; }

Devoluciones:

Promesa<nulo>

VerifiqueBeForeUpdateEmail (Usuario, NewEmail, ActionCodesettings)

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

El correo electrónico del usuario se actualizará al nuevo después de ser verificado.

Si tiene un controlador de acción de correo electrónico personalizado, puede completar el proceso de verificación llamando a ApplicActionCode () .

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.
Nuevo Email cadena La nueva dirección de correo electrónico se verificará antes de la actualización.
configuración de código de acción ActionCodesettings | nulo Las acciones de acción .

Devoluciones:

Promesa<nulo>

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, ...)

getAdditionSerInfo (UserCredential)

Extrae el proveedor adicional UsUserInfo para la credencial dada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
recedencial de usuarios Credencial de usuario La credencial de usuario.

Devoluciones:

AdicionaluserInfo | nulo

OperaciónCódigoAcción

Una enumeración de los posibles tipos de acción 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";
}

AutorRorCodes

Un mapa de posibles códigos de error Auth , para una comparación más fácil con errores lanzados por el SDK.

Tenga en cuenta que no puede sacudir las claves individuales en el mapa, por lo que al usar el mapa puede aumentar sustancialmente el tamaño de su 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";
}

navegador

Una implementación de la persistencia de tipo LOCAL usando localStorage para el almacenamiento subyacente.

Firma:

browserLocalPersistence: Persistence

navegador

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

Este método no funciona en un entorno node.js.

Firma:

browserPopupRedirectResolver: PopupRedirectResolver

navegador

Una implementación de la persistencia de SESSION utilizando 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 error detallado con descripciones detalladas para la mayoría de los códigos de error.

Ver discusión en Authrormapp

Firma:

debugErrorMap: AuthErrorMap

Factorid

Una enumación de factores que pueden usarse para la autenticación multifactorial.

Firma:

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

Persistencia indexedDblocal

Una implementación de la persistencia del tipo LOCAL usando indexedDB para el almacenamiento subyacente.

Firma:

indexedDBLocalPersistence: Persistence

InmemoryPersistencia

Una implementación de la persistencia del tipo 'Ninguno'.

Firma:

inMemoryPersistence: Persistence

Tipo de operación

Enumeración de tipos de operación compatibles.

Firma:

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

proderrormap

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

Ver discusión en Authrormapp

Firma:

prodErrorMap: AuthErrorMap

Proveedor

Enumeración de proveedores apoyados.

Firma:

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

Firmar

Enumeración de métodos de inicio de sesión compatibles.

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

Firma:

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

Nextorobserver

Tipo de definición para una devolución de llamada de evento.

Firma:

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

PhoneInfooptions

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

La información que se requiere depende de si está realizando inicio de sesión de un solo factor, inscripción multifactor o inicio de sesión multifactor.

Firma:

export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;

Perfil del usuario

Perfil de usuario utilizado en adicionaluserInfo .

Firma:

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