gpt4 book ai didi

javascript - 获取 "remember"选项以匿名使用 Firebase 身份验证

转载 作者:行者123 更新时间:2023-11-30 08:40:45 28 4
gpt4 key购买 nike

我正在尝试使用 Firebase 的 anonymous authentication存储有关访问我网站的用户的数据。但是我无法让它按照描述的那样工作。

这是相关代码的简化片段:

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);
});

在匿名身份验证的文档中,它说

If not specified - or set to default - sessions are persisted for as long as you have configured in the Login & Auth tab of your Firebase's Dashboard.

我在我的设置中将我的Session Length设置为 12 个月,所以我希望如果我加载此页面然后刷新页面,我会得到这样的结构:

{
someRandomUserId: {
randomPageId_1: {
loaded_page: timestamp_1,
left_page: timestamp_2
},
randomPageId_2: {
loaded_page: timestamp_3
}
}
}

但看起来它实际上是在重新分配用户 ID,而不是在页面加载期间保留它。所以我实际上得到了这样的结构:

{
someRandomUserId_1: {
randomPageId_1: {
loaded_page: timestamp_1,
left_page: timestamp_2
}
},
someRandomUserId_2: {
randomPageId_2: {
loaded_page: timestamp_3
}
}
}

我做错了什么还是这是一个错误?

最佳答案

每次调用 FirebaseRef.authAnonymously(...) 时,您都会创建一个新的身份验证 session 。该方法只需要调用一次,之后用户将在页面刷新时进行身份验证。

如果您想检查用户的当前身份验证状态,并且只有在用户当前未通过身份验证的情况下创建一个新的身份验证 session ,请对身份验证状态使用同步访问器FirebaseRef.getAuth()

关于javascript - 获取 "remember"选项以匿名使用 Firebase 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26706592/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com