如何将匿名 Firebase 凭据保存到本地存储以外的其他地方?

Posted

技术标签:

【中文标题】如何将匿名 Firebase 凭据保存到本地存储以外的其他地方?【英文标题】:How can I save the anonymous firebase credential to another place than localstorage? 【发布时间】:2017-11-30 03:42:33 【问题描述】:

我正在使用cordova、ionic3 和firebase 创建一个应用程序。该应用不需要登录,因为用户将自动以 匿名 firebase 用户身份登录。问题是firebase将匿名用户凭据保存在本地存储中。在科尔多瓦世界中,这意味着它不是 100% 可靠的。

在documentation 中写道:

ios 将 localStorage 数据存储在操作系统可能会在需要空间时清除的位置。

这意味着数据可能会丢失,因为我只使用来自 firebase 的匿名登录。我知道我可以将帐户链接在一起,但就我而言,我不想这样做。

我的问题是;您能否将 firebase anonymous 身份验证令牌存储在其他地方,以便对 IOS 用户 100% 可靠?

【问题讨论】:

如何获取 uuid 并将 对存储在 firebase 中?如果本地存储中不存在令牌,您可以根据 uuid 从数据库中恢复它。 我想过只是将令牌刷新令牌从localstorage复制到sqlite,但还没有尝试过。我还考虑过用在 ios 上持久性更好的东西替换 localstorage 对象。但我不想玩原生对象。这可能会导致令人困惑的问题。我想我会等到他们开源他们的项目。 【参考方案1】:

我已联系 Firebase 工作人员,他们说目前无法实现。然而,这在未来可能会改变。他们计划在不久的将来开源他们的 SDK,这将有可能改变这种行为。

这也是他们一位工程师的response

【讨论】:

最新的 firebase 版本确实支持更改 auth-state-persistence (firebase.google.com/docs/auth/web/auth-state-persistence)。但不是 SQLite。 :(

以上是关于如何将匿名 Firebase 凭据保存到本地存储以外的其他地方?的主要内容,如果未能解决你的问题,请参考以下文章

如何将来自 Firebase 的 pdf 文件保存在网络的本地文件夹中

我应该将 Firebase 凭据存储在 iCloud 中吗?

构建后如何在 Vue.js 项目中存储 Firebase 凭据(env_var)

如何通过匿名身份验证保存到 Firebase 数据库 - 使用 Flutter

如何以BLOB格式将图像上传到Firebase存储?

Flutter+Firebase 将匿名用户升级到 GoogleSignIn 时出错(给定字符串为空或 null)