Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取“记住”选项以匿名方式使用Firebase的_Javascript_Firebase - Fatal编程技术网

Javascript 获取“记住”选项以匿名方式使用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

我正试图使用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 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