Firebase Android Authentification 9.0.2刷新令牌

时间:2016-06-20 12:37:56

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

我在Android应用中使用Firebase身份验证9.0.2(Facebook,Google,电子邮件/密码或匿名),这部分可以正常使用。

mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();
            if (user != null && !flagAuth) {
                // User is signed in
            } else if (user == null) {
                // User is signed out
            }
        }
    };

在此之后,我正在聆听database.getReference(".info/connected")database.getReference(".info/authenticated"),首次我为所有经过身份验证的提供商连接这两个值 true 。当我重新启动我的应用程序时,它总是如此。

final DatabaseReference refAuthenticated = database.getReference(".info/authenticated");
    refAuthenticated.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            boolean connected = dataSnapshot.getValue(Boolean.class);
            if (connected) {
                AppLog.d("Authenticated");
                });
            } else {
                AppLog.d("No more Authenticated");
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            AppLog.d("Listener was cancelled at .info/authenticated");
        }
    });

但是1小时后(我的令牌过期时),Firebase SDK必须自动刷新令牌,但失败并出现此错误

pc_0 - Authentication failed: expired_token (Auth token is expired)

或者这个

pc_0 - Authentication failed: invalid_token (Invalid claim 'kid' in auth header.)

我在Firebase项目中检查了我的SHA-1密钥,这是正确的。

修改 这个问题似乎由Firebase团队解决。

0 个答案:

没有答案