【发布时间】: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