Descubre las novedades de Firebase en Google I/O 2022. Más información

Autenticarse con Firebase mediante un sistema de autenticación personalizado

Puede integrar Firebase Authentication con un sistema de autenticación personalizado modificando su servidor de autenticación para producir tokens firmados personalizados cuando un usuario inicia sesión correctamente. Su aplicación recibe este token y lo usa para autenticarse con Firebase.

Antes de que empieces

  1. Si aún no lo ha hecho, siga los pasos de la guía de inicio .
  2. Instale y configure el SDK de administración de Firebase . Asegúrese de inicializar el SDK con las credenciales correctas para su proyecto de Firebase.

Autenticar con Firebase

  1. Cuando los usuarios inicien sesión en su aplicación, envíe sus credenciales de inicio de sesión (por ejemplo, su nombre de usuario y contraseña) a su servidor de autenticación. Su servidor verifica las credenciales y, si son válidas, crea un token de Firebase personalizado y lo envía de regreso a su aplicación.

  2. Después de recibir el token personalizado de su servidor de autenticación, páselo a signInWithCustomToken() para iniciar la sesión del usuario:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unkown error.");
        }
    }
    

Próximos pasos

Después de que un usuario crea una nueva cuenta, esta 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 del método de inicio de sesión que haya usado el usuario.

En sus aplicaciones, 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 signOut() :

await FirebaseAuth.instance.signOut();