如果不需要分享敏感信息,为什么需要JWT? 我可以创建一个令牌列,在数据库中存储并重新调用它,以交叉验证标记并获取用户详细信息。 自定义生成的令牌可以使用密钥进行哈希处理,以避免被解码。既然如此简单,为什么要使用有信息的复杂JWT呢?
什么情况下需要JWT,因为不会共享敏感信息?在大多数情况下,具有私有id、过期日期或发行者的主题不能被视为敏感信息。并且令牌必须在双方之间保密,因为拥有令牌就是认证的证明。在任何情况下,JWT内容都可以使用JWE进行加密。自定义生成的令牌可以使用密钥哈希,以便其不被解码。当如此简单时,为什么要使用包含信息的复杂JWT呢?与不透明的令牌系统相比,JWT具有一些优点:- 无需服务器存储令牌 - 令牌具有过期日期 - 安全地在各方之间共享信息但也存在缺点:- 没有撤销机制。不建议设置黑名单,因为这会破坏JWT的状态。 - 增加了令牌大小