我正在寻找一种方法来检查用户是否刚刚注册或刚刚登录,并且没有明显的方法可以使用firebase并通过Facebook身份验证来实现
答案 0 :(得分:1)
类AuthResult
的{{1}}具有 AdditionalUserInfo
布尔值,可为您提供此信息。
答案 1 :(得分:0)
您应该使用在here找到的FlutterFire插件。
具体来说,身份验证包将帮助您管理此问题: https://github.com/flutter/plugins/tree/master/packages/firebase_auth
这段代码将使您知道是否存在currentUser。遵循这些原则。
final FirebaseAuth _auth = FirebaseAuth.instance;
final FirebaseUser currentUser = await _auth.currentUser();
if (user != null) {
_message = 'Successfully signed in, uid: ' + user.uid;
} else {
_message = 'Sign in failed';
}
使用Facebook / Firestore的特定凭据身份验证: https://github.com/flutter/plugins/blob/master/packages/firebase_auth/lib/src/auth_provider/facebook_auth_provider.dart
您还需要导入Facebook SDK并在其中传递证书。 Firebase登录/注册调用将处理其余部分,然后传回Firebase用户,然后,如果需要,您可以使用该用户存储自己的用户类型(看起来像您要找的用户)。
答案 2 :(得分:0)
我发现最好的是比较user's metadata中的lastSignInTimestamp
和creationTimestamp
。如果它们相同或彼此接近,则可能是用户首次登录。