Javascript 获取“记住”选项以匿名方式使用Firebase的
我正试图使用Firebase存储访问我网站的用户的数据。但我很难让它像上面描述的那样工作 以下是相关代码的简化片段:Javascript 获取“记住”选项以匿名方式使用Firebase的,javascript,firebase,Javascript,Firebase,我正试图使用Firebase存储访问我网站的用户的数据。但我很难让它像上面描述的那样工作 以下是相关代码的简化片段: var firebase_root = new Firebase('https://example.firebaseio.com'); firebase_root.authAnonymously(function(error, authData) { var page = firebase_root.child(uid).push(); // create a uniq
var firebase_root = new Firebase('https://example.firebaseio.com');
firebase_root.authAnonymously(function(error, authData) {
var page = firebase_root.child(uid).push(); // create a unique reference for this pageload
page.child('loaded_page').set(Firebase.ServerValue.TIMESTAMP);
page.child('left_page').onDisconnect().set(Firebase.ServerValue.TIMESTAMP);
});
在匿名认证的文档中,它说
如果未指定-或设置为默认值-会话将在Firebase仪表板的“登录和身份验证”选项卡中配置的时间内保持
在我的设置中,我已将会话长度设置为12个月,因此,如果我加载此页面,然后刷新页面,我会得到如下结构:
{
someRandomUserId: {
randomPageId_1: {
loaded_page: timestamp_1,
left_page: timestamp_2
},
randomPageId_2: {
loaded_page: timestamp_3
}
}
}
{
someRandomUserId_1: {
randomPageId_1: {
loaded_page: timestamp_1,
left_page: timestamp_2
}
},
someRandomUserId_2: {
randomPageId_2: {
loaded_page: timestamp_3
}
}
}
但看起来它实际上是在重新分配用户ID,而不是在页面加载时将其持久化。所以我实际上得到了这样一个结构:
{
someRandomUserId: {
randomPageId_1: {
loaded_page: timestamp_1,
left_page: timestamp_2
},
randomPageId_2: {
loaded_page: timestamp_3
}
}
}
{
someRandomUserId_1: {
randomPageId_1: {
loaded_page: timestamp_1,
left_page: timestamp_2
}
},
someRandomUserId_2: {
randomPageId_2: {
loaded_page: timestamp_3
}
}
}
我是做错了什么还是这是一个bug?每次以匿名方式调用FirebaseRef.AuthName时,您都在创建一个新的身份验证会话。。。。此方法只需调用一次,之后用户将在页面刷新时进行身份验证
如果要检查用户的当前身份验证状态,并且只有在用户当前未经身份验证时才创建新的身份验证会话,将同步访问器用于身份验证状态FirebaseRef.getAuth。每次以匿名方式调用FirebaseRef.Auth时,您都在创建一个新的身份验证会话。。。。此方法只需调用一次,之后用户将在页面刷新时进行身份验证 如果要检查用户的当前身份验证状态,并且只有在用户当前未经身份验证的情况下才创建新的身份验证会话,请将同步访问器用于身份验证状态FirebaseRef.getAuth