【问题标题】:Is Persona's Observer JavaScript API broken?Persona 的 Observer JavaScript API 是否损坏?
【发布时间】:2013-07-09 22:53:44
【问题描述】:

当我加载一个用户登录的页面(并且没有 Persona)时,客户端会发送一个带有 cookie 的请求。 cookie 对用户进行身份验证,服务器可以发送包含已识别用户的敏感信息的页面。

将 Persona 与 Observer API 一起使用我在发送页面时嵌入了一个 loggedInUser,以告诉 Persona 服务器认为谁已登录。

如果 Persona 认为 loggedInUser 不是服务器认为的那个人,则会出现潜在问题。在这种情况下,我们会收到“onLogout”或“onLogin”回调。

如果我们要认真对待 Persona 的意见,那么安全的方法应该是:

  • 发送请求
  • 发送不含敏感信息的页面
  • 如果 Persona 同意 loggedInUser 发送敏感信息,否则登录或注销

这是低效的,因为它需要为一个页面往返两次并且使 Web 应用程序复杂化。

从 Persona 文档中非常不清楚一个人的目的是什么。最简单的方法就是忽略 Persona 关于谁登录的理论。但是为什么会有这么复杂的 API?

我几乎肯定遗漏了一些东西,但在我看来,正如我在上面列出的那样,这看起来很糟糕。

【问题讨论】:

    标签: browserid


    【解决方案1】:

    如果我正确理解您的问题,您担心将用户(用户 A)的敏感信息泄露给另一个用户(用户 B)。

    但是,在这种情况下,我认为我们可以假设两个用户帐户都在同一个人的控制之下,因为浏览您网站的人拥有用户 A 的有效 cookie,并且还以用户 B 的身份登录到 Persona。如果一个人同时拥有这两个东西,他/她已经可以访问两个用户帐户,因此并没有真正将用户 A 或用户 B 的信息泄露给无关的人。

    当然,如果 cookie 是共享计算机,则可能是其他人留下的,但在这种情况下,您遇到的问题不仅仅是一闪而过的敏感信息:现在在计算机前的用户实际上可以冒充在未清除 cookie 的情况下离开计算机的用户。

    【讨论】:

      猜你喜欢
      • 2011-04-24
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多