Cómo autenticar con Firebase mediante cuentas basadas en contraseñas con Javascript

Puedes usar Firebase Authentication para permitir que los usuarios se autentiquen en Firebase con su dirección de correo electrónico y su contraseña, y para administrar las cuentas con contraseña de tu app.

Antes de comenzar

  1. Agrega Firebase a tu proyecto de JavaScript.
  2. Si aún no conectaste tu app al proyecto de Firebase, puedes hacerlo desde Firebase console.
  3. Habilita el acceso con correo electrónico y contraseña:
    1. En Firebase console, abre la sección Auth.
    2. En la pestaña Método de acceso, habilita el método de acceso Correo electrónico/contraseña y haz clic en Guardar.

Crea una cuenta basada en contraseña

Para crear una cuenta de usuario nueva con una contraseña, completa los siguientes pasos en la actividad de acceso de tu app:

  1. Cuando un usuario nuevo se registre mediante el formulario de registro de la app, realiza los pasos de validación de la cuenta nueva necesarios (como verificar que se haya escrito correctamente la contraseña y que cumpla con los requisitos de complejidad).
  2. Pasa la dirección de correo electrónico y la contraseña del nuevo usuario a createUserWithEmailAndPassword para crear la cuenta nueva:
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    Si se creó la cuenta nueva, el usuario accede automáticamente. Consulta la sección Pasos siguientes para obtener los detalles del usuario que accedió.

    Aquí también puedes detectar y resolver errores. Para obtener una lista de códigos de error, consulta los documentos de referencia de autenticación.

Haz que un usuario acceda con una dirección de correo electrónico y una contraseña

Los pasos para que un usuario acceda con una contraseña son similares a los pasos para crear una cuenta nueva. En la página de acceso de tu app, haz lo siguiente:

  1. Cuando un usuario accede a tus apps, pasa la dirección de correo electrónico y la contraseña a signInWithEmailAndPassword:
    firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    Consulta la sección Pasos siguientes para obtener los detalles del usuario que accedió.

    Aquí también puedes detectar y resolver errores. Para obtener una lista de códigos de error, consulta los documentos de referencia de autenticación.

Pasos siguientes

Cuando un usuario accede por primera vez, se crea una cuenta de usuario nueva y se la vincula con las credenciales (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 accedió. Esta cuenta nueva se almacena como parte del proyecto de Firebase y puede usarse para identificar a un usuario en todas las apps del proyecto, sin importar el método de acceso que se use.

  • En tus apps, para conocer el estado de autenticación de tu usuario, te recomendamos configurar un observador en el objeto Auth. Puedes obtener la información básica de perfil del usuario a partir del objeto User. Consulta Cómo administrar usuarios.

  • En las reglas de seguridad de Firebase Realtime Database y Cloud Storage, puedes obtener el ID único del usuario que accedió a partir de la variable auth y usarlo para controlar los datos a los que tiene acceso.

Para permitir que los usuarios accedan a tu app con varios proveedores de autenticación, puedes vincular las credenciales de proveedores de autenticación con una cuenta de usuario existente.

Para salir de la sesión de un usuario, llama a signOut:

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

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.