firebase 如何检测到用户已经在 android 上登录?

Posted

技术标签:

【中文标题】firebase 如何检测到用户已经在 android 上登录?【英文标题】:How does firebase detect that a user is already signed in on android? 【发布时间】:2017-01-07 14:51:15 【问题描述】:

这个问题只是出于好奇。在需要登录或注册的常规 android 应用程序中,我会在 android 中使用 SharedPreference 来保存用户的令牌,这样每次用户打开应用程序时我都会检查令牌以确定是否他是否已经登录。

但是,使用 Firebase 似乎只需要以下代码:

if (firebaseAuth.getCurrentUser() != null) 
    //Already logged in
    Intent intent = new Intent(LoginActivity.this, MainActivity.class);
    finish();
    startActivity(intent);

我的问题是,这是怎么发生的? firebaseAuth如何返回登录用户?

【问题讨论】:

您没有将令牌传递给 Firebase 吗?如果没有,您确定您在 Firebase 中正确设置了安全规则吗? 他们使用本地存储,不确定 SharedPreferences 是否准确。 【参考方案1】:

Firebase SDK 管理用于识别用户的令牌,并在它过期时自动刷新它。它与 Play 服务结合使用,以确保您的应用且只有您的应用可以访问用户信息。

它的实现细节是私有的,但您可以确定此数据存在某种形式的安全本地持久性。

【讨论】:

以上是关于firebase 如何检测到用户已经在 android 上登录?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Facebook 登录 - 检测用户登录状态并重定向

如何检测用户是不是第一次在 Firebase [重复]

每次用户使用来自 firebase 的动态链接的应用程序安装我的应用程序时,我如何检测和奖励?

如何在vue js项目中检测用户的firebase身份验证登录状态?

如何在邮件被验证时更新Firebase用户流的数据(Flutter)

如何在邮件被验证时更新Firebase用户流的数据(Flutter)