Answers:
如您所说,在RFC7519(https://tools.ietf.org/html/rfc7519)或与JWS或JWE相关的其他RFC中没有定义最大长度。
如果使用JSON序列化格式或JSON扁平化序列化格式,则没有限制,也没有理由定义限制。
但是,如果您使用JSON Compact Serialized格式(最常用的格式),则必须记住,它应该尽可能短,因为它主要用于Web上下文。您应避免使用4kb的JWT。
注意仅存储有用的声明和标头信息。
我也一直试图找到这个。
我会说-尝试确保它在7kb以下。
尽管JWT在规范(http://www.rfc-editor.org/rfc/rfc7519.txt)中没有定义上限,但我们确实有一些操作上的限制。由于JWT包含在HTTP标头中,因此当前大多数服务器上的上限(SO:http标头值的最大值)为8K。
因为这包括所有 <8kb的请求标头,而7kb为其他标头提供了合理的空间。达到此限制的最大风险是cookie(在标题中发送,并且可能变大)。
由于它是经过加密和base64加密的,因此至少有33%的原始json字符串被浪费掉了,因此请检查最终加密令牌的长度。
最后一点-代理和其他网络设备可能会在此过程中施加任意限制...
使用heroku时,标头限制为8k。取决于您在jwt2上使用的数据量是多少。当请求过大时,该请求将不会接触您的节点实例,heroku路由器会将其丢弃到您的API层之前。
在处理传入请求时,路由器会设置一个8KB的接收缓冲区,并开始读取HTTP请求行和请求标头。每个文件的最大长度为8KB,但总和可能超过8KB。包含大于8KB的请求行或标题行的请求将被路由器丢弃,而不会被分派。
另请:Heroku限制