问题描述
我在浏览器中使用 firebase.auth().onAuthStateChanged(...)
来检测用户是否已登录,并且在每个页面上加载firebase尝试登录当前用户(可能基于将令牌存储在IndexDB中).我需要检测firebase何时尝试自动登录当前内容,以便显示加载程序而不是登录表单.
I'm using firebase.auth().onAuthStateChanged(...)
in browser to detect that user is signed in and on every page load firebase trying to signIn current user (probably based on stored token in IndexDB). I need to detect when firebase trying automatically login current, so I can show loader instead of login form.
问题:
- 用户看到登录表单(不触摸任何内容)
- firebase根据存储在IndexDB中的最后一个令牌自动登录该用户(大约需要1-1.5秒).在这一步中,我想了解这一点并将加载程序显示给用户
- 用户认为他需要填写登录表格
- 1-1.5秒后,触发
onAuthStateChanged
,登录表单消失 - 用户有点困惑,为什么他看到这1-1.5秒的登录表单却没有任何加载程序或应用程序试图自动将他锁定的通知
推荐答案
我在我的应用程序中使用以下代码来了解用户是否已登录.我不知道如何在浏览器上执行此操作,但我希望您对此一无所知.
I'm using the following code in my app to know whether user is already signed in or not. I don't know how to do it on browser but I hope you will get little idea by this.
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if(user!=null){
startActivity(new Intent(MainActivity.this, MainMenu.class));
this.finish();
}
这篇关于Firebase身份验证:如何检测尝试自动登录当前用户的Firebase?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!