Firebase 9.0.0-如何查看用户是否使用AuthStateListener登录

时间:2016-05-21 21:01:46

标签: android firebase firebase-authentication

使用Google的Firebase AuthStateListener,我不确定如何检测Auth令牌是否已过期。我使用电子邮件和密码验证,并且首次用户打开应用程序时,监听器正常工作,并在后续应用程序启动时自动登录。

当他们的登录令牌过期且用户必须重新进行身份验证时出现问题。 AuthStateListener只是将它们登录,但Firebase服务拒绝它们访问,因为它们的令牌已过期。

我的听众代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_selector);

    mRef = FirebaseDatabase.getInstance().getReference();
    auth = FirebaseAuth.getInstance();
    firebaseAuth = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            if (firebaseAuth.getCurrentUser()!= null){
                Toast.makeText(getApplicationContext(), "Logged in", Toast.LENGTH_SHORT).show();

                changeToNextFragment();
            } else {
                Toast.makeText(getApplicationContext(), "You are not currently logged in.", Toast.LENGTH_SHORT).show();
                changeToLogin();
            }
        }
        };

在这里调用听众:

@Override
protected void onStart() {
    super.onStart();
    auth.addAuthStateListener(firebaseAuth);
}

对FirebaseAuth对象进行适当测试以查看令牌是否已过期?

0 个答案:

没有答案
相关问题