答案 0 :(得分:1)
我会隐藏潜在攻击者的一些信息,例如: userId
。这有助于保护用户免于访问个人数据。
F.e。如果我有一些Facebook用户的ID,我可以在URI http://facebook.com/u/{userId}
获取他/她的页面。
您可以在JSON Web Encryption 的帮助下加密JWT,或者您可以使用通过URI无法访问的备用用户唯一密钥。
对于令牌的大小,没有特殊限制。但我认为你应该减小尺寸,如果可以的话,因为这是一个远程调用。在您的情况下,您可以使用位而不是完整的权限名称。
答案 1 :(得分:0)
我认为您应该在令牌中保留最少的信息,以免增加大小,因为它随着客户端到服务器的每个请求而遍历。如果您想让更多信息与该jwt相关联,则可以使用redis并使所有信息都与该令牌相关联,如您的权限一样,第二个好处是,当用户执行注销操作时,您将能够撤销jwt令牌。我非常确定,现在注销用户之后,您只是将其从客户端中删除,但是如果您将再次使用令牌并且令牌未过期,那么将使用该令牌。