我在阅读JWT,有太多的教程和很多方法,这很令人困惑。为什么我应该让JSON Web Token负载不加密?
我有几个关于JWTs的正确使用问题:
1)我总是看到运送JWTs并从服务器不一致的手段。 For example, here:用于检索标记的一种传输方法(通过POST主体中的JSON编码对象),另一种用于提交它的方法(通过HTTP标头)。为什么这种不一致?当然,这取决于实施者选择方法,但至少要保持一致并且只使用标题或仅使用正文,这不是好的做法吗?
2)JWT负载包含状态信息,因为服务器没有维护它。很明显,应该将有效负载的大小尽可能小,因为JWT的大小会被添加到每个请求和响应中。也许只是一个用户ID和缓存的权限。当客户端需要任何信息时,它可以通过(通常是JSON编码的)HTTP主体接收它并将其存储在本地存储中,似乎不需要为同一目的访问只读JWT有效负载。那么,为什么要保持JWT有效载荷不加密呢?为什么要混合使用两种方式获取应用程序数据给客户端,并同时使用JWT有效内容和正常的响应式数据体?最佳做法不应该保持JWT始终加密吗?无论如何,它只能在服务器端进行更新。