es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flutter Firebase Twitter Auth lanzando un error

Estoy tratando de incorporar la autenticación de Twitter dentro de mi aplicación Flutter. Estoy siguiendo la documentación de FlutterFire pero obtengo un error arrojado. Me preguntaba si hay un problema en mi extremo o con el plugin de inicio de sesión de Twitter. Aquí está mi código:

  Future<usercredential> signInWithTwitter() async {
    // Crear una instancia de TwitterLogin
    final twitterLogin = new TwitterLogin(
        apiKey: '<1qOvE68aiVbk4URSARlfm0758>',
        apiSecretKey: '<wqhwrybweiv5dveecsutesbnt6uwb6080d4vz6wdyy1get8paz>',
        redirectURI: '<twitter-firebase-auth>://');

    // Iniciar el flujo de inicio de sesión
    final authResult = twitterLogin.login();

    // Crear una credencial a partir del token de acceso
    final twitterAuthCredential = TwitterAuthProvider.credential(
      accessToken: authResult.authToken!,
      secret: authResult.authTokenSecret!,
    );

    // Una vez iniciada la sesión, devuelve la credencial de usuario
    return await FirebaseAuth.instance
        .signInWithCredential(twitterAuthCredential);
  }

Obtengo el siguiente error:
El getter ‘authToken’ no está definido para el tipo ‘Future‘. Intente importar la biblioteca que define ‘authToken’, corregir el nombre al nombre de un getter existente o definir un getter o campo con el nombre ‘authToken’.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El error sugiere que el getter authToken no está definido para el tipo Future<authresult>. Al observar el código, parece que la variable authResult está definida como un Future y no se espera. Esto significa que el método TwitterLogin.login() devuelve un tipo Future<authresult>, y la variable authResult es de ese tipo. Para solucionar este error, necesitamos esperar al método TwitterLogin.login() como sigue:

    final authResult = await twitterLogin.login();
    

    Esto esperará a que el método login() se complete antes de asignar el resultado a authResult.

Comments are closed.