Authentication Cookie与JWT有何不同?为什么它们被认为比JWT更差?

Authentication Cookie与JWT有何不同?为什么它们被认为比JWT更差?,authentication,cookies,session-cookies,access-token,jwt,Authentication,Cookies,Session Cookies,Access Token,Jwt,我一直在阅读关于使用令牌进行身份验证的文章。一、 但是,我们无法理解令牌(JWT)与cookie的区别。两者都将存储用户信息(如令牌中的声明),定义持久性,并将与每个客户端请求一起发送到服务器 除了上述问题之外,我还想到了几个问题- JWT令牌不易出现中间人攻击吗?如果有人偷了一个令牌(在未加密的通道上),他们不能伪装成原始用户吗?(除非我们在索赔中添加用户的IP等) 我读过一些关于Cookie不适合新时代移动应用的言论,答案是代币。为什么? 为什么代币被认为比cookie更安全?是什么让他们更

我一直在阅读关于使用令牌进行身份验证的文章。一、 但是,我们无法理解令牌(JWT)与cookie的区别。两者都将存储用户信息(如令牌中的声明),定义持久性,并将与每个客户端请求一起发送到服务器

除了上述问题之外,我还想到了几个问题-

JWT令牌不易出现中间人攻击吗?如果有人偷了一个令牌(在未加密的通道上),他们不能伪装成原始用户吗?(除非我们在索赔中添加用户的IP等)

  • 我读过一些关于Cookie不适合新时代移动应用的言论,答案是代币。为什么?

  • 为什么代币被认为比cookie更安全?是什么让他们更不受攻击

  • 令牌是否只需要由服务器发出,或者可以从另一个OAuth提供程序接收令牌并进行自定义(添加/删除声明)和重用

  • 就性能而言,cookie是“坏的”,因为它们有大小限制,这就是为什么它们(通常)将会话ID和会话数据存储在服务器中。这减少了饼干的大小。但是JWT需要发送整个令牌,所以如果令牌包含声明的会话数据,那么我们每次都会发送这个不断增加的令牌。如果我没有弄错的话,那么JWT的性能与Cookie相比不是很差吗

  • 谢谢

    是JWT令牌不易出现中间人攻击吗? 是的,您应该使用HTTPS来确保没有人可以在HTTP请求头中看到JWT。如果有人获得令牌,他们可以冒充原始用户。同样的事情也可能发生在饼干上

    我读过一些关于Cookie不适合新时代移动应用的言论,答案是代币。为什么?

    大多数移动应用程序不使用浏览器发出HTTP请求。浏览器使web开发人员能够无缝地处理带有cookie的交易。对于移动开发者来说,使用JWT比处理w/Cookie要简单

    为什么代币被认为比cookie更安全?是什么让他们更不受攻击

    令牌并不一定比cookie更安全(cookie可以被签名,就像JWT一样)。安全性的好处来自于不暴露于诱使浏览器无意中使用cookie的漏洞(CSRF攻击)

    令牌是否只需要由服务器发出,或者可以从另一个OAuth提供程序接收令牌并进行自定义(添加/删除声明)和重用

    JWT使用只有生成它的服务器/组织才应该知道的秘密进行签名。因此,只有知道该秘密的服务器才能验证令牌是否有效。虽然生成令牌的服务器不必与验证令牌的服务器相同,但定制和重用其他人的令牌对您来说没有意义


    谢谢你的回答,这很有帮助。然而,最初的问题——“Cookie与JWT有何不同”尚未解释。我修改了这个列表,把它作为一个问题添加进去。第一个问题是比较苹果和桔子。Cookie只是一种存储和传输机制。令牌可以存储在cookie中。