JWT 访问令牌 public 信息和大小

JWT access token public information and size

现在我的 Spring OAuth2 JWT 访问令牌包含以下信息:

在这个 JWT 令牌中拥有 public 访问权是否安全?

此外,此令牌的大小为 1500 字节。 JWT 正常吗? JWT 令牌的大小限制是多少?

我会向潜在的攻击者隐藏一些信息,f.e。 userId。这有助于防止用户访问个人数据。

F.e。如果我有一些 Facebook 用户的 ID,我可以在 URI http://facebook.com/u/{userId}.

处获得 him/her 页面

您可以在 JSON Web Encryption 的帮助下加密 JWT,或者您可以使用无法通过 URI 访问的备用用户唯一密钥。

对于token的大小,没有特别的限制。但我认为您应该尽可能减小大小,因为这是一个 远程 调用。在您的情况下,您可以使用位而不是完整的权限名称。

我认为你应该在令牌中保留最少的信息,这样大小就不会增加,因为它会随着从客户端到服务器的每个请求而遍历。如果您想保留更多与此 jwt 关联的信息,那么您可以使用 redis 并保留 redis 中的所有信息与此令牌关联,例如您的权限,第二个好处是您将能够在用户注销时撤销 jwt 令牌.我很确定现在注销用户后你只是从你的客户端删除它但是如果你将再次使用令牌并且令牌没有过期那么将被使用。