我是新来的。我有一个关于Firebase Auth/ Google Auth的问题,FirebaseUser未定义代码:
FirebaseAuth _auth = FirebaseAuth.instance;
GoogleSignIn googleSignIn = GoogleSignIn();
Future<FirebaseUser> currentUser() async { // The Issue is here in the Future<>
final GoogleSignInAccount account = await googleSignIn.signIn();
final GoogleSignInAuthentication authentication =
await account.authentication;
final GoogleAuthCredential credential = GoogleAuthProvider.getCredential(
idToken: authentication.idToken, accessToken: authentication.accessToken);
final AuthResult authResult = await _auth.signInWithCredential(credential);
final FirebaseUser user = authResult.user; // and here as I can't define this FirebaseUser object to return
return user;
}
Pubspec.yml
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.3
firebase_auth: ^0.18.0
location: ^3.0.2
page_transition: ^1.1.6
google_sign_in: ^4.5.1
flutter_facebook_login: ^3.0.0
firebase_database: ^4.0.0
我在AuthResult上也面临同样的问题
final AuthResult authResult = await _auth.signInWithCredential(credential);
在最新版本的firebase_auth中,类FirebaseUser更改为User,类AuthResult更改为UserCredentail。因此,将 FirebaseUser 更改为 User
从< code>firebase_auth 0.18.0开始,< code>FirebaseUser类已更改为< code>User
在最新版本的< code>firebase_auth中,类< code>FirebaseUser更改为< code>User,类< code>AuthResult更改为< code>UserCredential。因此,请将您的代码更改为以下内容:
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
已更改為 User
身份验证结果
更改为 UserCredential
< code > Google auth provider . get credential()更改为< code > Google auth provider . credential()
通知用户登录状态更改的onAuthStateChanged
被替换为AuthStateChange()
currentUser()
是一种检索当前登录用户的方法,已替换为属性currentUser
,并且不再返回未来
以上两种方法的示例:
FirebaseAuth.instance.authStateChanges().listen((event) {
print(event.email);
});
和:
var user = FirebaseAuth.instance.currentUser;
print(user.uid);
禁止使用
firebaseUser的
方法。例子:用户更新信息
类。updateProfile
Future updateName(String name, FirebaseUser user) async {
var userUpdateInfo = new UserUpdateInfo();
userUpdateInfo.displayName = name;
await user.updateProfile(userUpdateInfo);
await user.reload();
}
现在
import 'package:firebase_auth/firebase_auth.dart' as firebaseAuth;
Future updateName(String name, auth.User firebaseUser) async {
firebaseUser.updateProfile(displayName: name);
await firebaseUser.reload();
}
问题内容: 我已将Java动态Web项目导入Eclipse IDE(已在Eclipse IDE中实现并正常工作)。 运行项目时,我收到“ 类型未定义”错误。 我已经按照结构将每个文件复制到IDE中,并且工作已完成。 现在我只想知道为什么在导入项目时出现此错误。有人遇到过同样的问题吗?请让我知道我可能犯了什么错误。 问题答案: 当我在IntelliJ中使用的servlet-api版本与Tomcat8
这是我的pom 时出现以下错误
问题内容: 注意:根据 ECMAScript5.1,第15.1.1.3节,window.undefined是只读的。 现代浏览器正确地实现了这一点。 例如:Safari 5.1,Firefox 7,Chrome 20等。 Undefined仍可在以下位置更改:Chrome 14,… 原来,问题的原因是 如果“对象”中没有属性“ x”,则返回false。 我通过在两个Facebook函数中用规则相等
问题内容: 我遇到了这个JSON代码。我注意到它利用了价值。在哪里可以找到有关此值类型的更多信息? 问题答案: *即使在javascript中有效, *undefined 也不是有效的json值。根据官方json标准 (ECMA-404,第5节): JSON值可以是对象,数组,数字,字符串,true,false或null。 对于json,请使用 null 而不是 undefined :
我是一个新的编码和上课目前,我不知道什么似乎是这里的问题,但我试图阅读和挑选特定的信息,从一个单独的文本文件。非常感谢任何帮助!
“我想从Hello类获取Hello world的goldUser的用户Id值,但无法获取该值。正在获取@IDClass”未为实体指定标识符:“错误”。“ 我做错了什么,或者应该用什么方法从Hello表中获取用户id的值。