JSON Web令牌(JWT)与Cookies相比的优缺点

JSON Web Token (JWT) advantages/disadvantages over Cookies

JWT相对于cookie的一个优势似乎是它绕过了cookie的原产地限制。

有人可以帮助我了解JWT的其他优点,以及重要的其他缺点吗?


许多与Web相关的信息可以在以下类似文章中找到:令牌身份验证与Cookie;我想指出一些"建筑"上的差异:

  • JWT是一种标准化的容器格式,可以使用"声明"以安全的方式对用户和客户端的相关信息进行编码(而cookie内容和签名/加密未标准化)
  • JWT不限于提供有关已认证用户本身的类似会话的信息;它们还可以用于将访问权限委派给代表用户的客户端
  • JWT比cookie允许更精细的访问模型,因为JWT可以在"范围"(它们允许客户端执行的操作)以及时间方面受到限制

  • 就我而言,JWT只是一个令牌,用于表示客户端无法伪造的数据。您可以通过http标头或cookie将其传递到服务器。您只需要在服务器端实现两种方法即可访问JWT,然后再对其进行处理。 Cookie对于Web浏览器是实用的,但对于普通的HTTP请求(例如使用curl或本机应用程序),使用标头更容易。 JWT与协议无关,您也可以在Web套接字中使用它,将其放在json有效负载中或其他任何位置,只要可以在接收端对其进行访问和解码即可。