23

我正在使用需要身份验证和会话处理的 Firebase 构建一个基本的 webapp。浏览 Firebase Auth 的文档后,我决定在 Facebook 登录上使用电子邮件/密码选项。

成功登录后,我们会得到一个token可以在页面刷新时再次用于登录或在新选项卡上使用auth(). 但是,为此我们需要将令牌保存在客户端的某个地方。浏览实现身份验证和会话处理的 Firefeed的源代码token,将其保存在localStorage用户的浏览器中。

这种方法有多安全?因为localStorage使用浏览器的任何人都可以看到数据。有没有更好的选择呢?

4

1 回答 1

25

简单登录返回的令牌是有时间限制的、用户特定的令牌。如果受到攻击,它们最坏的情况是允许攻击者在有限的时间内冒充该用户。它们不包含用户的密码或其他敏感数据。

localstorage 只能通过保存它的主机域上的 Javascript 访问,因此您访问的其他站点将无法访问它(假设浏览器或您的站点没有受到损害,但如果有,则所有赌注都关闭...)

因此,简短的回答是,这种方法非常安全。

于 2012-12-30T20:03:15.240 回答