Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';如果用户需要发送一次凭证,JWT的好处是什么?_Jwt - Fatal编程技术网

什么';如果用户需要发送一次凭证,JWT的好处是什么?

什么';如果用户需要发送一次凭证,JWT的好处是什么?,jwt,Jwt,JWT代币似乎是一个非常好的主意。您可以向某些API发送请求,而无需使用用户名/密码密码对 尽管如此,我还是不完全理解它所带来的好处。我有两个问题: 要获取令牌,用户仍然需要将其凭据发送到发布这些令牌的服务器。这难道不是这一切的弱点吗 如果攻击者在转移代币时偷走了代币,他可以用它假装自己是其他人。这与使用用户/密码组合的唯一区别在于,JWT令牌在一段时间后会过期,所以攻击者没有太多时间来做他的事情 我的理解正确吗?我错过了什么 是的,它确实需要交换一次配对,但与每次必须进行API调用相比,这仍然

JWT代币似乎是一个非常好的主意。您可以向某些API发送请求,而无需使用用户名/密码密码对

尽管如此,我还是不完全理解它所带来的好处。我有两个问题:

  • 要获取令牌,用户仍然需要将其凭据发送到发布这些令牌的服务器。这难道不是这一切的弱点吗
  • 如果攻击者在转移代币时偷走了代币,他可以用它假装自己是其他人。这与使用用户/密码组合的唯一区别在于,JWT令牌在一段时间后会过期,所以攻击者没有太多时间来做他的事情
  • 我的理解正确吗?我错过了什么

  • 是的,它确实需要交换一次配对,但与每次必须进行API调用相比,这仍然将风险降至最低

  • 令牌被盗的方式有很多种,检测这种情况的常用方法是检查IP地址中突然发生的意外变化。这种方法不可靠,容易被欺骗。然而,如果我们能够检测到盗窃行为,那么只需将代币列入黑名单即可。因此,整个策略依赖于检测是否发生了盗窃。出于这个原因,您应该使用旋转令牌的概念:请参阅中的更多内容,了解这将如何工作,因为它太长,无法在SO答案中解释


  • 也许我应该把这个贴在InformationSecurityStackExchange上?我能移动它而不是在那里创建重复的问题吗?