首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步localStorage

同步localStorage
EN

Stack Overflow用户
提问于 2018-01-15 16:44:37
回答 6查看 2.1K关注 0票数 10

我正在寻找一种解决方案,允许浏览器的localStorage不那么本地,这样人们就可以在多个设备上访问他们的数据。传统的方法是在服务器上运行数据库,让用户登录;但我尽量避免这样做。我希望服务器端是轻量级的--如果可能的话,甚至是完全静态的--并且不需要安全地存储密码,担心数据保护等等。

许多浏览器都有某种登录方式-- Google帐户、Firefox帐户等等--将用户的浏览器连接在一起。因此,理想的解决方案是将数据存储在localStorage中,但使用该帐户进行跨设备同步。像chrome.storage这样的接口似乎可以用于打包的应用程序,而不是普通的网页。

用现在的技术,这样的事情有可能吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-02-21 23:51:32

我会考虑使用一个像firebase这样的工具,它将为您节省大量的开发时间,并且它将同步您的所有客户端的数据。

https://firebase.google.com/docs/storage/web/start

票数 2
EN

Stack Overflow用户

发布于 2020-02-18 11:09:02

从你的网络应用程序:

  1. 将电子邮件地址和用户数据发送到后端(例如PHP)

从你的后端:

  1. 生成一个UUID并将用户数据保存在一个名为这个UUID的文件中
  2. 将UUID发送回客户端,并将此标识符与数据一起保存到localStorage

此时,您可以有一个静态链接,您可以:

  • 在客户端:以明文或二维条形码形式打印到屏幕上,可供移动设备识别。
  • 在服务器端:通过电子邮件发送到给定的电子邮件地址。

现在,您可以通过发布UUID从后端获取用户数据。

Discussion

UUID存储用户数据的安全性如何?我认为,UUIDv4 (由“随机数据”生成)足够安全,可以创建合理的唯一标识符。所以,注意你是如何产生随机种子的。这里有一个很好的参考:函数生成v4 UUID。因此,静态链接应该是足够安全的,您可以使用任何现有的身份验证系统,通过电子邮件或任何您想要的方式共享该链接。

下面是另一种方法:交叉存储,它允许跨不同域的多个浏览器窗口/选项卡共享一个localStorage。然而,我坚信UUID将在服务器端生成.

票数 2
EN

Stack Overflow用户

发布于 2020-02-21 16:36:20

您可以使用没有信令服务器的WebRTC来同步应用程序的两个实例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48267314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档