翻译自:JSON Web Tokens (JWT) are Dangerous for User Sessions—Here’s a Solution
有时候,人们采用旨在解决狭义问题的技术,并开始广泛运用这项技术。这些问题可能看起来类似,但是使用独特的技术来解决一般的问题,可能会造成意想不到的后果。举个栗子,手里拿个锤子,看谁都是钉子,jwt就是这样一种技术。
来源:Stop using JWT for sessions
来源:Why JWTs Are Bad for Authentication—Randall Degges, Head of Developer Advocacy, Okta.]
来源:JWT should not be default for your sessions
有很多像Okta这样的中小企业的深入文章和视频,谈论使用JWT的潜在风险和低效。然而这些警告被营销人员,YouTubers,博客作者,课程作者和其他有意或者无意推广它的人所掩盖。
如果你看了许多这样的视频和文章,他们都只是谈论了jwt带来的好处,却忽略了不足之处。更加具体点,他们只是谈论了如何使用JWT,但是并没有讨论jwt在实际生产环境中带来的额外的复杂性。他们也从来没有把它和现有的经历过风雨的技术进行比较,无法真正权衡利弊。
也许正式这个完美的,有价值的,友好的名字导致了jwt的流行,json(很受欢迎),web,token(无状态)使人们认为jwt非常适合身份验证。
因此,我认为这是一个通过营销击败了工程师和安全专家的案例。但是,这也不是坏事,因为在Hacker News经常会有关于JWT的冗长和激烈的辩论(请看这里,这里和这里),所以拯救它还是有希望的。
如果你想一下,这些持续不断的辩论本身就应该是一个危险的信号,因为你永远不应该看到这样的辩论。特别是在安全领域,安全领域应该是永远安全的,在这其中