Firebase Facebook登录检查用户是不是存在

Posted

技术标签:

【中文标题】Firebase Facebook登录检查用户是不是存在【英文标题】:Firebase Facebook login check if user existFirebase Facebook登录检查用户是否存在 【发布时间】:2016-07-18 11:03:43 【问题描述】:

我有一个与 firebase 配合使用的 facebook 登录系统,但我想检查我的 firebase 上是否存在用户(我不想添加它,只是想确保他是否存在,因为我想将用户重定向到另一个页面以完成其个人资料,一旦完成,我会将其发送到 firebase)。

我只需要检查用户是否存在于我的数据库中。这是我尝试的代码,但它返回 nil 错误并自动将用户添加到 firebase。

let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString)


FIRAuth.auth()?.signInWithCredential(credential)  (user, error) in
        // ... 


【问题讨论】:

用重新认证方法检查... 你能给我一个链接或者关于那个方法的东西吗?因为我在 firebase 网站上找不到它。 你确定...检查this link ..在本页末尾您找到了重新验证方法 非常感谢。它奏效了。 【参考方案1】:

您可以使用reauthenticateWithCredential 方法检查用户是否存在。

检查this Doc.,部分 -> 重新验证用户

let user = FIRAuth.auth()?.currentUser
var credential: FIRAuthCredential

// Prompt the user to re-provide their sign-in credentials

user?.reauthenticateWithCredential(credential)  error in
  if let error = error 
    // An error happened.
   else 
    // User re-authenticated.
  

如果用户重新认证成功,则表示用户存在...

【讨论】:

主要问题是当用户有一个帐户但他删除应用程序然后重新安装它时,此代码将不起作用,因为 .当前用户为零。如果对象存在,更好的方法是检查 .reference().child("users/currentUserId")(或存储登录用户数据的位置) @ConstantinSaulenco 然后我们需要将检查用户的代码移动到服务器端,因为我们不希望任何人都可以看到用户数据

以上是关于Firebase Facebook登录检查用户是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

如何确定 Firebase 用户是不是使用 facebook 身份验证登录

如何确定 Firebase 用户是不是使用 facebook 身份验证登录

在 Flutter 中使用 Firebase 身份验证检查用户是不是是新用户

Firebase - 始终检查用户是不是登录的最佳方式?

Android,检查用户是不是使用 Facebook 登录

检查用户是不是已登录 Facebook