当我加载用户登录的页面(并且没有Persona)时,客户端会发送带有cookie的请求。 cookie对用户进行身份验证,服务器可以发送包含已识别用户的敏感信息的页面。
将Persona与Observer API一起使用我在发送页面时嵌入了 loggedInUser ,以告诉Persona服务器认为谁已登录。
如果Persona不认为 loggedInUser 是服务器认为是谁,则会出现潜在问题。在这种情况下,我们得到一个“onLogout”或“onLogin”回调。
如果我们要认真对待Persona的意见,那么安全的方法就是:
这是低效的,因为它需要两次往返页面以及使Web应用程序复杂化。
从Persona文档中非常清楚人们应该做什么。最简单的是忽略了Persona关于谁登录的理论。但是为什么这么复杂的API?
我几乎肯定错过了一些东西,但是当我把它放在上面时,这看起来很糟糕。
答案 0 :(得分:0)
如果我理解您的问题,您担心将用户(用户A)敏感信息泄露给其他用户(用户B)。
但是,在这种情况下,我认为我们可以假设两个用户帐户都在同一个人的控制之下,因为浏览到您网站的人拥有用户A的有效cookie,并且还以用户B身份登录到Persona。一个人拥有这两件事,他/她已经可以访问这两个用户帐户,所以它并没有真正将用户A或用户B的信息泄露给无关的人。
当然,如果cookie是共享计算机,那么cookie可能会被其他人遗留下来,但在这种情况下,你遇到的问题不仅仅是敏感信息的闪现:现在位于计算机前面的用户实际上可以模拟离开计算机的用户而不清除cookie。