引擎盖下火力地堡认证状态变化不火或删除
我使用火力地堡认证在我的Android应用程序注册/使用谷歌,Facebook和电子邮件/密码的用户。到目前为止,几乎一切正常,除了一个场景。
我需要禁用或删除从火力地堡控制台用户帐户有时禁止我的应用程序的一些用户的情况。
在这种情况下,当我禁用或删除该特定用户时,用户必须从应用立即注销,并且不应再能够使用它。
的错误
我已经使用了AuthStateListener
监听认证状态变化,并立即自动注销用户为他们的帐户被禁用或删除。
FirebaseAuth.getInstance().addAuthStateListener(firebaseAuth -> {
if (firebaseAuth.getCurrentUser() == null) {
Intent intent = AuthFlowActivity.getCallingIntent(AuthFlowActivity.FORCE_LOGOUT);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
activityExitAnimation(BaseAppActivity.this);
}
});
但我从未见过AuthStateListener触发这些操作的任何事件。所以我无法立即注销用户,用户仍然可以继续使用该应用程序。
如果有人能帮助解决这个问题,我将不胜感激。
非常感谢帮助我解决这个问题。我不清楚我应该采取哪种方法。 在同样的笔记,我想知道如果访问令牌过期,AuthStateChange侦听器是否触发?并且令牌在多长时间内过期? –
短暂的访问令牌在一个小时内过期(因此我的意见是最多需要一个小时)。如果令牌无法刷新,肯定会激发身份验证状态更改。如果令牌刷新,它也可能调用方法,但我没有检查一段时间(这是一个更具争议)。 –
谢谢弗兰克。但我观察到,我已经使用我的Google帐户登录到应用程序,并且在2天后仍然登录。这是我想知道的。一旦我登录,这些令牌何时到期,用户必须重新登录才能获得新的令牌? –