Firebase 不刷新令牌
Posted
技术标签:
【中文标题】Firebase 不刷新令牌【英文标题】:Firebase Not Refreshing Token 【发布时间】:2017-06-30 17:30:37 【问题描述】:我在我的 android 应用程序中使用 Google 和 Facebook 登录。我发现this thread 也在谈论一段时间后失去与 Firebase 数据库的连接,这种情况一直在发生。我运行了以下代码和“完成的刷新令牌”。永远不会被打印出来。
Log.d(TAG, "Start token refresh.");
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); // mAuth is your current firebase auth instance
user.getToken(true).addOnCompleteListener(this, new OnCompleteListener<GetTokenResult>()
@Override
public void onComplete(@NonNull Task<GetTokenResult> task)
Log.d(TAG, "Completed refresh token.");
if (task.isSuccessful())
Log.d(TAG, "token=" + task.getResult().getToken());
else
Log.e(TAG, "exception=" +task.getException().toString());
);
要让它工作,我必须清除我的应用程序中的数据并重新登录,以便它再次工作一会儿。当我简单地退出帐户并重新登录时,它通常不起作用。尚未尝试使用 Facebook,但现在使用 Google 登录正在发生这种情况。
【问题讨论】:
【参考方案1】:您检查过Firebase 文档吗?
注册令牌可能会在以下情况下发生变化:
应用删除实例 ID 应用已在新设备上恢复 用户卸载/重新安装应用程序 用户清除应用数据。【讨论】:
这是令牌刷新的唯一方式。该应用程序不会自行刷新。我的意思是我必须清除应用数据并重新登录才能刷新。 每次登录都要刷新token?还是什么? 数据库过了一会儿就停止更新了,好像是连接认证了。我只是希望它自己工作,我添加的上述代码是一个测试,表明它在被告知检索时不会获取任何内容。 连接丢失时可能需要重新连接数据库? 不,它甚至不应该失去连接。由于令牌刷新甚至没有完成,就好像它完全失去了连接一样。如果它没有得到令牌,它应该抛出异常......以上是关于Firebase 不刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章