【发布时间】:2021-03-12 06:02:10
【问题描述】:
我正在使用以下代码在带有 firebase 的 Flutter 应用程序中使用 Google 登录,该代码运行成功。
我应该如何检查使用的电子邮件ID是否已经存在于firebase身份验证中?
我需要确保我相应地更新了 firestore 数据库中的用户信息。
Future<User> _handleSignIn() async {
User user;
bool userSignedIn = await _googleSignIn.isSignedIn();
setState(() {
isUserSignedIn = userSignedIn;
});
if (isUserSignedIn) {
user = _auth.currentUser;
}
else {
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.credential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
user = (await _auth.signInWithCredential(credential)).user;
userSignedIn = await _googleSignIn.isSignedIn();
setState(() {
isUserSignedIn = userSignedIn;
});
}
return user;
}
请指导我
【问题讨论】:
-
这能回答你的问题吗? Check if given email exists
-
登录后是否要在firestore中制作用户文档或数据
-
@ArpitPorwal,不,它不回答我的问题,因为它仅与 Android 有关,我正在使用 Flutter 应用程序
-
@Yashirkhan 是的,我想根据谷歌登录电子邮件 ID 是否已经存在来制作用户文档/更新数据
标签: firebase flutter firebase-authentication google-signin