Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Autenticarse con Firebase usando cuentas basadas en contraseña usando Javascript

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Puede usar Firebase Authentication para permitir que sus usuarios se autentiquen con Firebase usando sus direcciones de correo electrónico y contraseñas, y para administrar las cuentas basadas en contraseñas de su aplicación.

Antes de que empieces

  1. Agregue Firebase a su proyecto de JavaScript .
  2. Si aún no ha conectado su aplicación a su proyecto de Firebase, hágalo desde la consola de Firebase .
  3. Habilitar inicio de sesión con correo electrónico/contraseña:
    1. En Firebase console , abra la sección Auth .
    2. En la pestaña Método de inicio de sesión, habilite el método de inicio de sesión con correo electrónico/contraseña y haga clic en Guardar .

Crear una cuenta basada en contraseña

Para crear una nueva cuenta de usuario con una contraseña, complete los siguientes pasos en la página de registro de su aplicación:

  1. Cuando un nuevo usuario se registre mediante el formulario de registro de su aplicación, complete todos los pasos de validación de la nueva cuenta que requiera su aplicación, como verificar que la contraseña de la nueva cuenta se haya ingresado correctamente y cumpla con sus requisitos de complejidad.
  2. Cree una nueva cuenta pasando la dirección de correo electrónico y la contraseña del nuevo usuario a createUserWithEmailAndPassword :

    Web version 9

    import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    createUserWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed in 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ..
      });

    Web version 8

    firebase.auth().createUserWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in 
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ..
      });
    Si se creó la nueva cuenta, el usuario inicia sesión automáticamente. Eche un vistazo a la sección Siguientes pasos a continuación para obtener los detalles del usuario que inició sesión.

    Aquí también es donde puede detectar y manejar errores. Para obtener una lista de códigos de error, consulte los Documentos de referencia de autenticación.

Inicie sesión como usuario con una dirección de correo electrónico y una contraseña

Los pasos para iniciar sesión como usuario con contraseña son similares a los pasos para crear una nueva cuenta. En la página de inicio de sesión de su aplicación, haga lo siguiente:

  1. Cuando un usuario inicie sesión en su aplicación, pase la dirección de correo electrónico y la contraseña del usuario a signInWithEmailAndPassword :

    Web version 9

    import { getAuth, signInWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    signInWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed in 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
      });

    Web version 8

    firebase.auth().signInWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
      });
    Eche un vistazo a la sección Siguientes pasos a continuación para obtener los detalles del usuario que inició sesión.

    Aquí también es donde puede detectar y manejar errores. Para obtener una lista de códigos de error, consulte los Documentos de referencia de autenticación.

Próximos pasos

Después de que un usuario inicia sesión por primera vez, se crea una nueva cuenta de usuario y se vincula a las credenciales (es decir, el nombre de usuario y la contraseña, el número de teléfono o la información del proveedor de autenticación) con las que el usuario inició sesión. Esta nueva cuenta se almacena como parte de su proyecto de Firebase y se puede usar para identificar a un usuario en cada aplicación de su proyecto, independientemente de cómo inicie sesión el usuario.

  • En sus aplicaciones, la forma recomendada de conocer el estado de autenticación de su usuario es establecer un observador en el objeto Auth . A continuación, puede obtener la información básica del perfil del User del objeto Usuario. Consulte Administrar usuarios .

  • En sus Reglas de seguridad de Firebase Realtime Database y Cloud Storage, puede obtener el ID de usuario único del usuario que inició sesión de la variable auth y usarlo para controlar a qué datos puede acceder un usuario.

Puede permitir que los usuarios inicien sesión en su aplicación utilizando varios proveedores de autenticación vinculando las credenciales del proveedor de autenticación a una cuenta de usuario existente.

Para cerrar la sesión de un usuario, llame a signOut :

Web version 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

Web version 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});