如何确定Firebase用户是否使用Facebook身份验证登录

塔尔达库斯

我正在使用Google的Firebase,并且在用户身份验证方面遇到了一些麻烦。使用Facebook登录后,我在AuthStateListener中获得了FirebaseUser,但是如何检测该用户是通过Facebook登录还是以其他方式登录?

更新正如@Frank van Puffelen所说,FirebaseAuth.getInstance()。getCurrentUser()。getProviderId()应该返回“ facebook”,但在我的情况下,它返回“ firebase”。现在,我无法弄清楚这种行为的原因是什么。当我获得FacebookToken时,我将执行以下操作:

        AuthCredential credential = FacebookAuthProvider.getCredential(facebookToken.getToken());
        mAuth.signInWithCredential(credential)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {

                        // If sign in fails, display a message to the user. If sign in succeeds
                        // the auth state listener will be notified and logic to handle the
                        // signed in user can be handled in the listener.
                        if (!task.isSuccessful()) {

                        }

                    }
                });

之后,在调用onComplete()方法之前,我的AuthStateListener获取用户,其提供者ID不应为“ facebook”。难道我做错了什么?我遵循了Google的官方文档

弗兰克·范普菲伦

在3.x版和更高版本中,可以使用多个提供程序登录单个用户。因此,不再存在单个提供者ID的概念。实际上,当您致电:

FirebaseAuth.getInstance().getCurrentUser().getProviderId()

它将始终返回firebase

要检测用户是否已使用Facebook登录,您必须检查提供商数据:

for (UserInfo user: FirebaseAuth.getInstance().getCurrentUser().getProviderData()) {
  if (user.getProviderId().equals("facebook.com")) {
    System.out.println("User is signed in with Facebook");
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定用户是否仍在使用基于会话的身份验证登录?

来自分类Dev

您如何确定用户是否已在Angular Firebase中进行身份验证?

来自分类Dev

Firebase 身份验证:使用现有用户登录

来自分类Dev

用户使用Firebase身份验证登录后如何重定向?

来自分类Dev

使用laravel身份验证时,如何检查用户是否已在React组件中“登录”?

来自分类Dev

如何使用 Firebase 身份验证正确登录?

来自分类Dev

如何使用Google用户名进行身份验证。点亮Firebase身份验证

来自分类Dev

如何使用 firebase sdk 对用户进行身份验证

来自分类Dev

如何使用 ChatSDK 对 Firebase 用户进行身份验证?

来自分类Dev

使用 Facebook 进行 Firebase 身份验证

来自分类Dev

使用Google登录进行身份验证之前,请检查用户是否已登录-Flutter

来自分类Dev

使用 Firebase 检查用户身份验证

来自分类Dev

使用Firebase登录用户时出现“身份验证/用户未找到”

来自分类Dev

使用Firebase登录用户时出现“身份验证/用户未找到”

来自分类Dev

使用Firebase简单登录时如何访问/验证Firebase身份验证对象的内容?

来自分类Dev

Firebase身份验证-登录的用户为空

来自分类Dev

确定是否已使用id_token_hint对用户进行身份验证

来自分类Dev

使用 FireBase facebook 身份验证登录,getCurrentUser() 不断返回 null

来自分类Dev

检查用户是否使用 PHP 在服务器上通过 Firebase 身份验证进行身份验证?

来自分类Dev

如何确定使用哪个SSH密钥文件对登录进行身份验证?

来自分类Dev

如何存储要通过Firebase简单登录电子邮件/密码进行身份验证的用户?

来自分类Dev

如何检测Firebase身份验证正在尝试登录用户?

来自分类Dev

Firebase身份验证-登录,然后重定向到应用程序-如何获取用户

来自分类Dev

在Firebase中,如何从自定义jwt令牌身份验证获取当前登录的用户

来自分类Dev

如何验证最终用户身份验证令牌(使用Firebase身份验证)以调用Google Cloud Run端点?

来自分类Dev

使用Firebase / GCP实施跨项目用户身份验证(单一登录)(例如Google帐户)

来自分类Dev

Instagram API身份验证-用户是否必须使用自己的帐户登录?

来自分类Dev

Firebase Facebook 身份验证

来自分类Dev

新用户与旧Firebase Facebook身份验证

Related 相关文章

  1. 1

    如何确定用户是否仍在使用基于会话的身份验证登录?

  2. 2

    您如何确定用户是否已在Angular Firebase中进行身份验证?

  3. 3

    Firebase 身份验证:使用现有用户登录

  4. 4

    用户使用Firebase身份验证登录后如何重定向?

  5. 5

    使用laravel身份验证时,如何检查用户是否已在React组件中“登录”?

  6. 6

    如何使用 Firebase 身份验证正确登录?

  7. 7

    如何使用Google用户名进行身份验证。点亮Firebase身份验证

  8. 8

    如何使用 firebase sdk 对用户进行身份验证

  9. 9

    如何使用 ChatSDK 对 Firebase 用户进行身份验证?

  10. 10

    使用 Facebook 进行 Firebase 身份验证

  11. 11

    使用Google登录进行身份验证之前,请检查用户是否已登录-Flutter

  12. 12

    使用 Firebase 检查用户身份验证

  13. 13

    使用Firebase登录用户时出现“身份验证/用户未找到”

  14. 14

    使用Firebase登录用户时出现“身份验证/用户未找到”

  15. 15

    使用Firebase简单登录时如何访问/验证Firebase身份验证对象的内容?

  16. 16

    Firebase身份验证-登录的用户为空

  17. 17

    确定是否已使用id_token_hint对用户进行身份验证

  18. 18

    使用 FireBase facebook 身份验证登录,getCurrentUser() 不断返回 null

  19. 19

    检查用户是否使用 PHP 在服务器上通过 Firebase 身份验证进行身份验证?

  20. 20

    如何确定使用哪个SSH密钥文件对登录进行身份验证?

  21. 21

    如何存储要通过Firebase简单登录电子邮件/密码进行身份验证的用户?

  22. 22

    如何检测Firebase身份验证正在尝试登录用户?

  23. 23

    Firebase身份验证-登录,然后重定向到应用程序-如何获取用户

  24. 24

    在Firebase中,如何从自定义jwt令牌身份验证获取当前登录的用户

  25. 25

    如何验证最终用户身份验证令牌(使用Firebase身份验证)以调用Google Cloud Run端点?

  26. 26

    使用Firebase / GCP实施跨项目用户身份验证(单一登录)(例如Google帐户)

  27. 27

    Instagram API身份验证-用户是否必须使用自己的帐户登录?

  28. 28

    Firebase Facebook 身份验证

  29. 29

    新用户与旧Firebase Facebook身份验证

热门标签

归档