在启用SSL的站点上使用JWT而不是Cookie

时间:2013-07-18 16:19:30

标签: security cookies jwt

我没有使用cookie,而是使用JWT令牌,该令牌随每个请求一起发送。每个请求都是POST请求,因此令牌不会保存在浏览器的历史记录中。

这是一个单页应用。

令牌如下:

{
    userId: 12345678,
    expires: <UNIX timestamp>,
    otherInfo: <something>
}

一切都是SSL安全的。 当用户登录时,将在服务器上创建令牌。

这是替换cookie的好方法还是看到任何缺陷?

1 个答案:

答案 0 :(得分:1)

不,这不是一个好的解决方案。使用cookie(带有httpOnly标志)进行跨请求持久性是可选 - 它是安全存储会话凭证的唯一方式,以这种方式在页面上JavaScript代码无法直接访问它。

这对预防例如至关重要。会话窃取XSS攻击,确保脚本无法访问凭据,但它们仍可用于对服务器的请求。

您对JWT的使用似乎并没有真正解决问题 - 为什么您只能使用现有会话实施来使用会话cookie?这种事情正是他们所做的。