什么是签名认证令牌?

Art*_*nko 9 authentication access-token

目前我正在学习JWT并开始使用基于令牌的身份验证.我不明白文章中的句子:

基于令牌的身份验证的工作原理是确保对服务器的每个请求都附带一个签名令牌,服务器验证该真实性,然后才响应该请求.

什么是签名令牌?签署令牌意味着什么?我无法在SO上找到这个问题.

dec*_*eze 10

签名是可以验证的东西.

您尝试解决的主要问题是:服务器创建一些任意值,即它给客户端的令牌.客户端随后将其作为某些内容的证据返回给服务器(例如,证明它们已经过身份验证).现在,服务器如何确保令牌是真实的,而客户端不只是弥补它?

这就是签名的来源.它是令牌的一部分,服务器可以验证它之前是否已创建该签名,以及是否为此特定令牌创建了签名.简而言之,签名是令牌内容的哈希加上只有服务器拥有的秘密; 为了验证签名,服务器重复令牌内容的散列和秘密,只有它具有,如果匹配,则意味着令牌的签名必须以确保两个所需真实性属性的方式创建.

有关如何具体计算JWT签名的详细信息,请阅读规范.

  • 因为这会将签名与特定内容联系起来.如果只是秘密,那么每个签名都是相同的,您可以重复使用不同令牌的签名. (5认同)