Skip to main content

JWT

谨慎使用JWT

JWT的作用其实很小, 仅适合:

  1. 短期使用 一般生命周期很小, 例如告诉服务器A我需要服务器B的资源, 限制为短期, 例如5分钟之后过期, 过期无法继续使用服务器B的资源
  2. 单次使用

特性

  • Tokens 生命期较短。它们只需在几分钟内可用
  • Tokens 仅单次使用。应用服务器应当在每次下载时颁发新的 Token。所以任何 Token 只用于一次请求就会被抛弃,不存在任何持久化的状态。
  • 应用服务器依旧使用 Sessions。仅仅下载服务器使用 Tokens 来授权每次下载,因为它不需要任何持久化状态。

应用场景

有个文件服务,用户必须认证后才能下载文件,但文件本身存储在一台完全分离且无状态的「下载服务器」内。在这种情况下,你可能想要「应用服务器(服务器A)」颁发一次性的「下载Tokens」,用户能够使用它去「下载服务器(服务器B)」获取需要的文件

参考

微信 0 1 2