Undefined class 'FirebaseUser'
Since firebase_auth 0.18.0
, the class FirebaseUser
was changed to User
Starting from Version firebase_auth
0.18.0:
In the newest version of firebase_auth
, the class FirebaseUser
was changed to User
, and the class AuthResult
was changed to UserCredential
. Therefore change your code to the following:
Future<User> currentUser() async {
final GoogleSignInAccount account = await googleSignIn.signIn();
final GoogleSignInAuthentication authentication =
await account.authentication;
final GoogleAuthCredential credential = GoogleAuthProvider.credential(
idToken: authentication.idToken,
accessToken: authentication.accessToken);
final UserCredential authResult =
await _auth.signInWithCredential(credential);
final User user = authResult.user;
return user;
}
FirebaseUser
changed to User
AuthResult
changed to UserCredential
GoogleAuthProvider.getCredential()
changed to GoogleAuthProvider.credential()
onAuthStateChanged
which notifies about changes to the user's sign-in state was replaced with authStateChanges()
currentUser()
which is a method to retrieve the currently logged in user, was replaced with the property currentUser
and it no longer returns a Future<FirebaseUser>
.
Example of the above two methods:
FirebaseAuth.instance.authStateChanges().listen((event) {
print(event.email);
});
And:
var user = FirebaseAuth.instance.currentUser;
print(user.uid);
Deprecation of UserUpdateInfo
class for firebaseUser.updateProfile
method.
Example:
Future updateName(String name, FirebaseUser user) async {
var userUpdateInfo = new UserUpdateInfo();
userUpdateInfo.displayName = name;
await user.updateProfile(userUpdateInfo);
await user.reload();
}
now
import 'package:firebase_auth/firebase_auth.dart' as firebaseAuth;
Future updateName(String name, auth.User firebaseUser) async {
firebaseUser.updateProfile(displayName: name);
await firebaseUser.reload();
}
In the newest version of firebase_auth, the class FirebaseUser was changed to User, and the class AuthResult was changed to UserCredentail. Therefore change FirebaseUser to User