当用户访问我的网站时,我会onAuthStateChanged用来确定用户是否已经从之前的会话登录.
主要问题是它与少数用户不一致 - 代码似乎没有检测到他们确实有一个有效的登录会话.
以下代码位于应用程序本身,用户在主页或登录页面重定向后位于该页面上.
该网站的主页还用于onAuthStateChanged确定是否应该直接将用户重定向到该应用程序.登录页面使用signInWithEmailAndPassword,当登录成功时,将它们重定向到应用程序页面(具有以下代码).
firebase.auth().onAuthStateChanged(function (authUser) {
if (authUser) return initApp(authUser);
// issue: sometimes users that *should* be signed-in get signed in anonymously here
firebase.auth().signInAnonymously().then(function (authUser) {
initApp(authUser);
}
});
Run Code Online (Sandbox Code Playgroud)
是onAuthStateChanged不是我应该用于我的用例?知道如何改进/解决这个问题吗?
编辑:此SEEMS更多地发生在移动设备上的用户身上.
我正在使用Firebase和AngularJS.我正在使用Auth身份验证进行谷歌登录,我完成了流程.现在我需要检索存储在本地存储中的用户数据,如firebase:authUser:.
一旦我在本地存储中使用谷歌帐户登录,你就有了firebase:authUser:.create,我需要获取这些详细信息.
我使用以下方法来存储用户数据
firebase.database().ref('users/' + user.uid).set
({
name: user.displayName,
email: user.email,
token: token
});
Run Code Online (Sandbox Code Playgroud) javascript angularjs firebase ionic-framework firebase-authentication