jjwt中存储token令牌,浏览器操作了登出清除了浏览器的cookie,那么这个token是否还继续存储在jjwt中,还依然存在?使用postman的方式,是不是还是能通过认证

在使用 JWT(JSON Web Token)进行身份验证时,JWT 令牌通常由服务器生成并发送给客户端(通常是浏览器或移动应用)。客户端会将这个令牌存储在本地(例如,存储在 Cookie、LocalStorage 或 SessionStorage 中)。当用户登出并清除浏览器的 Cookie 时,客户端本地的 JWT 令牌会被删除,但这并不会影响服务器上的 JWT 令牌的状态,实际上服务器上不会存储令牌,jjwt只是生成令牌返给浏览器,浏览器传递过来的话,会按照秘钥解析认证而已

  1. JWT 令牌的生命周期
    客户端存储:JWT 令牌通常存储在客户端的 Cookie、LocalStorage 或 SessionStorage 中。
    服务器验证:当客户端发送请求时,会将 JWT 令牌放在请求头的 Authorization 字段中,服务器会验证这个令牌的有效性。
  2. 登出操作
    客户端清除:当用户登出时,客户端会清除本地存储的 JWT 令牌(例如,清除 Cookie 或 LocalStorage 中的令牌)。
    服务器无感知:服务器不会主动跟踪每个客户端的 JWT 令牌状态,除非你实现了某种机制(例如,黑名单或撤销列表)来管理已登出的令牌。
  3. Postman 测试
    继续有效:如果用户登出并清除浏览器的 Cookie,但使用 Postman 重新发送带有相同 JWT 令牌的请求,服务器仍然会验证这个令牌的有效性。只要令牌没有过期且签名有效,服务器会认为这是一个有效的请求。
    安全性:这可能会带来安全风险,因为即使用户已经登出,如果有人获取了 JWT 令牌,仍然可以使用这个令牌进行身份验证。
  4. 解决方案
    为了提高安全性,可以采取以下措施:

令牌过期:设置较短的 exp(过期时间)字段,使令牌在一段时间后自动过期。
黑名单:在服务器端维护一个黑名单,记录已登出的 JWT 令牌。当客户端发送请求时,服务器会检查令牌是否在黑名单中,如果是,则拒绝请求。
刷新令牌:使用刷新令牌机制。客户端在获取访问令牌的同时,还会获得一个刷新令牌。访问令牌过期后,客户端可以使用刷新令牌获取新的访问令牌。刷新令牌也可以被撤销,从而强制用户重新登录。

总结

客户端清除:登出时清除客户端的 JWT 令牌,但服务器不会主动跟踪每个客户端的令牌状态。
Postman 测试:使用 Postman 仍然可以通过相同的 JWT 令牌进行身份验证,除非令牌已过期或在黑名单中。
解决方案:设置较短的过期时间、使用黑名单或刷新令牌机制来提高安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值