Flutter Firebase Auth 新更新 [重复]
Posted
技术标签:
【中文标题】Flutter Firebase Auth 新更新 [重复]【英文标题】:Flutter Firebase Auth new update [duplicate] 【发布时间】:2021-02-01 14:59:12 【问题描述】:我有一个带有“旧”firebase 身份验证小部件的工作应用程序。 现在身份验证已更新,没有任何工作了。
你能帮我修一下吗????
这是整个小部件:
import 'package:firebase_auth/firebase_auth.dart';
class AuthService
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
// ignore: deprecated_member_use
Stream<String> get onAuthStateChanged => _firebaseAuth.onAuthStateChanged.map(
(User user) => user?.uid,
);
//Email & Password Sign up
Future<String> createUserWithEmailAndPassword(
String email, String password, String name) async
final currentUser = await _firebaseAuth.createUserWithEmailAndPassword(
email: email,
password: password,
);
//Update the Username
var userUpdateInfo = UserUpdateInfo();
userUpdateInfo.displayName = name;
await currentUser.updateProfile(userUpdateInfo);
await currentUser.reload();
return currentUser.uid;
//Email Password Sign In
Future<String> signInWithEmailAndPassword(
String email, String password) async
return (await _firebaseAuth.signInWithEmailAndPassword(
email: email, password: password))
.user
.uid;
//Sign Out
signOut()
return _firebaseAuth.signOut();
小部件的这部分不再起作用:
//Update the Username
var userUpdateInfo = UserUpdateInfo();
userUpdateInfo.displayName = name;
await currentUser.updateProfile(userUpdateInfo);
await currentUser.reload();
return currentUser.uid;
以下是错误:
错误:没有为“AuthService”类型定义方法“UserUpdateInfo”。 错误:没有为“UserCredential”类型定义方法“updateProfile”。 错误:没有为“UserCredential”类型定义“重新加载”方法。 错误:没有为“UserCredential”类型定义 getter 'uid'。
【问题讨论】:
【参考方案1】:我建议查看 FlutterFire 的 upgrade guide,以及更新后的 reference documentation the firebase_auth
library。
例如,updateProfile
method 和 reload
method 以及 uid
property 现在在 User
对象上定义。
同样的User
对象还有一个updateProfile
method,它将displayName
作为一个可选的命名参数。
【讨论】:
【参考方案2】:您应该降低库的版本或通过该库的新文档来重构您的代码。
【讨论】:
以上是关于Flutter Firebase Auth 新更新 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
当我更新 ListView 上的列表时,Flutter 页面不会重新加载
为啥 firebase auth 在我的新三星手机上不起作用?
Flutter:firebase_auth 好像不行,怎么授权?
flutter-firebase_auth-gradlew.bat 异常退出