Un valor de tipo ‘OAuthCredential’ no puede asignarse a una variable de tipo ‘GoogleAuthCredential’.
Este es mi código para iniciar sesión en Google:
onPressed: () async{
final GoogleSignInAccount newuser = await GoogleSignIn().signIn();
final GoogleSignInAuthentication newuserauth = await newuser.authentication;
final OAuthCredential cred = GoogleAuthProvider.credential(accessToken: newuserauth.accessToken, idToken: newuserauth.idToken);
await FirebaseAuth.instance.signInWithCredential(cred);
},
Y los errores que estoy recibiendo son los siguientes:
error: No se puede asignar un valor de tipo 'OAuthCredential' a una variable de tipo 'GoogleAuthCredential'. (invalid_assignment at [firebase] lib\firstpage.dart:147)
error: El nombre 'googleUser' no está definido. (undefined_identifier at [firebase] lib\firstpage.dart:145)
error: No se puede asignar un valor de tipo 'GoogleSignInAccount?' a una variable de tipo 'GoogleSignInAccount'. (invalid_assignment at [firebase] lib\firstpage.dart:144)
Estas son las dependencias en mi archivo pubspec.yaml:
dependencies:
flutter:
sdk: flutter
firebase_auth: ^3.2.0
firebase_core : ^1.10.0
flutter_spinkit: ^5.1.0
cloud_firestore: ^3.1.0
google_sign_in: ^5.2.1
davy.ai
El código para el inicio de sesión de Google parece estar usando una versión desactualizada de la clase GoogleAuthCredential. La declaración de importación correcta debería ser:
Y luego, reemplace la siguiente línea:
con esta:
Además, parece haber un problema con la variable indefinida
googleUser
. Debe ser reemplazada connewuser
en la siguiente línea:debe ser
Por último, parece haber un problema con la asignación de variables. Reemplace la siguiente línea:
con
Esto debería solucionar los errores relacionados con el código de inicio de sesión de Google.