为什么我应该使用 JWT 而不是简单的哈希令牌

Ala*_*ene 6 php jwt

如果不共享敏感信息,还需要 JWT 做什么?

我可以创建一个令牌列,将其存储在数据库中并恢复它,以交叉验证令牌,然后获取用户详细信息。

自定义生成的令牌可以使用密钥进行哈希处理,因此不会被解码。既然如此简单,为什么要使用复杂的、有信息的 JWT 类型呢?

ped*_*ofb 2

由于不应共享敏感信息,JWT 有何需求?

在大多数情况下,具有私有 ID、到期日期或发行者的主题不能被视为敏感。并且令牌必须在双方之间保密,因为拥有是身份验证的证明。

无论如何,JWT 内容都可以使用 JWE 进行加密。

自定义生成的令牌可以使用密钥进行散列,因此不会被解码。既然这么简单,为什么要使用复杂的、有信息的 JWT 类型呢?

JWT 与不透明的代币系统相比,有一些优点:

  • 不需要服务器存储令牌
  • 令牌有一个到期日期
  • 各方之间安全地共享信息。

还有缺点...

  • 无撤销机制。不建议设置黑名单,因为它破坏了 JWT 无状态性
  • 增加代币大小