我对这个JWT令牌很新。我创建了文本batman
的令牌,它给了我:
eyJhbGciOiJIUzUxMiIsInppcCI6IkRFRiJ9.eNqqViouTVKyUkpKLMlNzFOqBQAAAP__.Q_tupftGHJ-S1p2Ocopzt7CUYCm3PeLncnifL7EXBeguIHUfwMiP0AZQUO607MViwwQk4g-Kxnbrz7xmifkfPA
我重新启动了我的服务器,认为JWT会将计算出的令牌保留在内存中,但重新启动后,当我通过上述令牌时,JWT仍能验证它!
任何人都可以解释这是怎么回事吗?它是否使用任何算法?
答案 0 :(得分:0)
检查JWT令牌中使用的属性文件的TimetoLive TTL属性。
答案 1 :(得分:0)
要回答这个问题,让我们看看JWT令牌的工作原理。
让我们以“客户端”(A)和“服务器”(B)为例。
客户端(A)希望访问我们服务器(B)上的某些受保护数据,但是服务器知道客户端不受信任。
服务器仅希望将数据提供给可信任的客户端。因此,我们的客户会将请求连同数据一起发送到我们的服务器,以验证请求的身份。
服务器代替保存用户数据,而是创建一个令牌,并将此令牌返回给客户端,由客户端来存储此数据,并根据请求将其发送给服务器
下一次我们的客户沿着安全路线发出请求时,它会发送工作令牌。
但是我们的服务器知道不信任客户端,因此我们的服务器会验证此令牌 是它说的来源,并且未被篡改。
如果一切都检查正常,则服务器会发回包含所请求数据的响应。就是这样!!。
注意:以下链接说明了用于生成JWT的不同算法。除此之外,它还包含有关支持不同算法的不同技术堆栈的详细信息。