身份验证令牌、本地存储和流星
Posted
技术标签:
【中文标题】身份验证令牌、本地存储和流星【英文标题】:auth tokens, local storage and meteor 【发布时间】:2013-06-27 07:08:27 【问题描述】:我们正在运行一个 Web 应用程序(shiny-server,其中的编码是在 R 中完成的)并希望向它添加一个身份验证层。 我没有在 R 中构建一些东西来执行此操作,而是考虑使用流星来创建身份验证令牌等等。 这就是我想这样做的方式:
用户使用meteor 登录,meteor 创建一个如下所示的数据库条目: "createdAt" : 1372521823708, "_id" : "HSdbPBuYy5wW6FBPL", “服务”:“密码”:“srp”:“身份”:“vKpxEzXboBaQsWYyJ”, “盐”:“KRt5HrziG6RDnWN8o”, “验证”: “8d4b6a5edd21ce710bd08c6affb6fec29a664fbf1f42823d5cb8cbd272cb9b2b3d5faa681948bc955353890f645b940ecdcc9376e88bc3dae77042d14901b5d22abd00d37a2022c32d925bbf839f65e4eb3a006354b918d5c8eadd2216cc2dbe0ce12e0ad90a383636a1327a91db72cf96cd4e672f68544eaea9591f6ed102e1”, “简历”:“登录令牌”:[ “令牌”:“t9Dxkp4ANsYKuAQav”, “当”:1372521823708], “电子邮件”:[ “地址”:“example@example.com”, “已验证”:假 ] 用户被重定向到“旧应用程序”。在这里我们检查本地存储(如果我们使用相同的向外主机和端口,应该是与流星相同的本地存储,对吗?) 并找到以下信息: Meteor.loginToken: t9Dxkp4ANsYKuAQav Meteor.userId:HSdbPBuYy5wW6FBPL 本地存储数据由“其他应用程序”调查,它对流星数据库进行简单的数据库查询,以验证本地存储信息与数据库中的信息是否匹配。也许还要检查某种到期日期。如果匹配,则应用呈现,否则不呈现。这是一种相当安全的方法吗?是否可以在应用程序之间共享本地存储?
【问题讨论】:
这似乎是一种合理的方法,但您需要注意 cookie 的域和路径限制:en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path。 这正是我在使用 Meteor 和浏览器扩展时的处理方式。 与这个问题可能相关的是我的 shinyStore 包,它允许您使用 Shiny 的(可选加密的)本地存储:github.com/trestletech/shinyStore 【参考方案1】:当然,您必须确保您的 WebSockets 在 TLS 上运行。 LocalStorage
使用简单的Same-origin Policy。所以是的,它会起作用。 LocalStorage 和 cookie 一样安全,所以没关系。
TLDR:
是的,是的
【讨论】:
以上是关于身份验证令牌、本地存储和流星的主要内容,如果未能解决你的问题,请参考以下文章