gpt4 book ai didi

javascript - Firebase 检索存储在本地存储中的用户数据作为 firebase :authUser:

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:45 25 4
gpt4 key购买 nike

我正在使用 Firebase 和 AngularJS。我正在使用 Auth 身份验证进行 google 登录并完成了该过程。现在我需要检索存储在本地存储中的用户数据,如 firebase:authUser:。

一旦我使用本地存储中的 google 帐户登录,您就拥有了 firebase:authUser:.created,我需要获取这些详细信息。

我使用了下面的方法来存储用户数据

firebase.database().ref('users/' + user.uid).set
({
name: user.displayName,
email: user.email,
token: token
});

最佳答案

Web SDK 的文档没有提到在身份验证成功后,Firebase 会设置 User本地存储中的对象。 API 引用也没有提到这一点。在尝试使用 Firebase 配置我的 Vue 应用程序时,我通过检查 localStorage 发现了这一点。

要从 localStorage 检索用户,您可以执行以下操作:

const authUser = Object.keys(window.localStorage)
.filter(item => item.startsWith('firebase:authUser'))[0]

您可以在 localStorage 中有多个条目,所以这就是 filter() 的原因

编辑:请参阅下面 Metallica 的回答。


更新(2018-02-21):好像现在有一个部分(Web) Authentication State Persistence .不确定我最初发布答案时是否存在这个问题,但我正在更新这个答案以链接它,因为这个问题得到了适度的关注。

更新 2 (2018-02-21):如 Overview of persistence behavior 所述:

If no user is signed in and no persistence is specified, the default setting will be applied (local in a browser app).

所以 localStorage 是默认设置,这证实了我在 Firebase JS SDK 开源之前的原始答案。

关于javascript - Firebase 检索存储在本地存储中的用户数据作为 firebase :authUser:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39035594/

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