jwt 只能应对它的初始设计场景,也就是令牌签发后有效期内一直有效。如果你有后续的需求,比如用户的令牌丢了,或者用户想要改密码,要让已签发的令牌失效,那么 jwt 就不能做到,需要在 jwt 基础上再加补丁。而补丁的实现,由于把存在性校验换成了不存在性校验,算法上确实可以做到一定的优化,但这种优化往往只有在特大数据量下才能表现出实际差距,考虑到开发成本,这未必值当。对于没想清楚需求的应用来说,直接保存 sessionid 是最直接也最方便的做法。
看看文章及其扩展篇章:
jwt 只能应对它的初始设计场景,也就是令牌签发后有效期内一直有效。如果你有后续的需求,比如用户的令牌丢了,或者用户想要改密码,要让已签发的令牌失效,那么 jwt 就不能做到,需要在 jwt 基础上再加补丁。而补丁的实现,由于把存在性校验换成了不存在性校验,算法上确实可以做到一定的优化,但这种优化往往只有在特大数据量下才能表现出实际差距,考虑到开发成本,这未必值当。对于没想清楚需求的应用来说,直接保存 sessionid 是最直接也最方便的做法。
看看文章及其扩展篇章: