Firebase 身份验证用户为空

Posted

技术标签:

【中文标题】Firebase 身份验证用户为空【英文标题】:Firebase auth user null 【发布时间】:2021-08-29 09:30:20 【问题描述】:

我的 LoginActivity 中有这样的 onCreate:

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        mAuth = FirebaseAuth.getInstance();
        currentUser = mAuth.getCurrentUser();
        if(currentUser!= null) 
            currentUserId = currentUser.getUid();
        

但是我的变量,当我第一次安装我的应用程序时,currentUserId 为空。为什么?我该如何解决?

【问题讨论】:

【参考方案1】:

当我第一次安装我的应用程序时,currentUserId 为空...为什么?

这是预期的行为,因为用户在首次安装/打开应用程序时未经过身份验证。 FirebaseAuth 的getCurrentUser() 方法:

返回当前登录的FirebaseUser,如果没有则返回null

如上所示,如果您获得 null,则用户未通过身份验证。要获取实际的 FirebaseUser 对象,请使用 one of the available options/prividers 对用户进行身份验证,该对象将不再为空。

【讨论】:

谢谢亚历克斯,我解决了,我正面临这个问题,因为我在使用电子邮件和密码身份验证登录后没有得到变量。

以上是关于Firebase 身份验证用户为空的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 身份验证在页面重新加载时在 nuxtjs 中间件中为空

Redux firebase - 正确处理身份验证状态(前几毫秒状态为空,直到加载)

Firebase 身份验证:如何验证用户仍然存在

Nativescript Vue + Firebase 身份验证:检查用户是不是在每个组件中进行身份验证的最佳方法?

检查用户是不是在 Android 的 Firebase Google 身份验证中首次通过身份验证

从 Firebase 身份验证中删除用户