身份验证代币,本地存储和流星

时间:2013-06-29 17:25:31

标签: authentication meteor local-storage shiny-server

我们正在运行一个Web应用程序(闪亮服务器,其中编码在R中完成)并且想要为其添加身份验证层。 而不是在R中构建一些东西,我想到使用meteor来创建auth令牌等等。 这就是我想的方式:

  • 用户使用meteor和meteor登录会创建一个如下所示的数据库条目:
    { "createdAt" : 1372521823708,
      "_id" : "HSdbPBuYy5wW6FBPL",
      "services" : { "password" : { "srp" : { "identity" : "vKpxEzXboBaQsWYyJ",
            "salt" : "KRt5HrziG6RDnWN8o",
            "verifier" : "8d4b6a5edd21ce710bd08c6affb6fec29a664fbf1f42823d5cb8cbd272cb9b2b3d5faa681948bc955353890f645b940ecdcc9376e88bc3dae77042d14901b5d22abd00d37a2022c32d925bbf839f65e4eb3a006354b918d5c8eadd2216cc2dbe0ce12e0ad90a383636a1327a91db72cf96cd4e672f68544eaea9591f6ed102e1" } },
        "resume" : { "loginTokens" : [ 
            { "token" : "t9Dxkp4ANsYKuAQav",
              "when" : 1372521823708 } ] } },
      "emails" : [ 
        { "address" : "example@example.com",
          "verified" : false } ] }
  • 用户被重定向到“旧应用程序”。在这里我们检查本地存储(如果我们使用相同的向外主机和端口,应该是与meteor相同的本地存储,对吗?) 并找到这些信息:
    Meteor.loginToken: t9Dxkp4ANsYKuAQav
    Meteor.userId: HSdbPBuYy5wW6FBPL
  • 本地存储数据由“其他应用程序”调查,它对meteor db执行简单的数据库查询,以验证本地存储信息是否与数据库中的信息匹配。也许还会检查某种到期日期。如果匹配,则应用程序呈现,否则不呈现。

这是一种体面安全的方法吗?是否可以在应用程序之间共享本地存储?

1 个答案:

答案 0 :(得分:0)

当然,您必须确保您的WebSockets正在通过TLS运行。 LocalStorage使用简单的Same-origin Policy。所以是的它会起作用。 LocalStorage和cookie一样安全,所以没问题。

<强> TLDR:

是,是