android-firebase auth问题,返回用户缺少的Facebook令牌

时间:2019-03-26 21:11:35

标签: android facebook firebase firebase-authentication google-cloud-firestore

我在使用Facebook流进行身份验证的应用程序中返回用户时遇到问题。该应用程序可以正常运行,直到用户离开大约48小时以上,但仍然无法完全弄清。

这些步骤是:

  1. 首次使用Firebase SDK中的Facebook提供程序对用户进行身份验证。
  2. 一切按计划进行,该应用正常运行。
  3. 用户正在离开该应用,可以说是两天后回来
  4. 在应用启动时,我正在检查用户是否仍使用
  5. 用户正在通过支票(用户!= null,仍通过身份验证)并进入应用程序
  6. 用户执行了一个需要facebook SDK的操作,因此,在此之前,我试图获取访问令牌,但该令牌为null,并且无法验证其权限。问题在于,这是两天前用于获取有效令牌的确切代码。

这就是我如何确定用户身份验证状态的方法:

 mAuthListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
        if (firebaseAuth.getCurrentUser() == null) {
            startAuthActivity(); 
        } else {
            checkUserFinishSetup(firebaseAuth.getCurrentUser());
            //at the end of checkUserFinishSetup new intent created 
            //and the user redirect to MainActivity
        }
    }
};

这是当用户需要执行需要Facebook SDK有效访问令牌的操作时导致我出现问题的行。

AccessToken.getCurrentAccessToken() // return null even though 2 days ago it was valid

是否存在一些需要调用的内置函数来刷新Firebase为使用Facebook provider \ flow的用户提供的令牌,这样我才能获得针对Facebook SDK使用的有效令牌?

0 个答案:

没有答案