jwt-go有办法删除或者撤销指定的token吗?

joey_516 · · 3347 次点击
服务端新手,是我对jwt认识不够,jwt实际上就是一段 (数据段转base64后的字符串)+(数据段的签名), 服务端拿到token也只是对签名做验证,检验数据段的合法性,数据段的字符串经过base64解码就可以还原; 所以jwt本身不存在什么删除和销毁的操作, 刷新token实际上就是修改数据段中过期时间或者其它值,然后再签名生成一个全新的tokenString, 但是之前的tokenString仍然可用,除非是已经过期的,所以要实现注销功能只能从服务器端增加类似tokenString白名单,或者每个用户使用不同的jwtSecret(签名密钥),每次生成新的tokenString钱都更换jwtSecret,这样旧的token就会验证失败。
#5
更多评论
这种功能,需要借助缓存
#1
你不光查看jwt-go的文档找不到相关的方法,你查jwt的也没用…… 这个必然是需要服务器端储存状态的。
#2