【发布时间】:2014-11-19 22:55:21
【问题描述】:
我需要知道最大长度
JSON 网络令牌 (JWT)
在规范中没有关于它的信息。难不成,没有长度限制?
【问题讨论】:
标签: jwt
我需要知道最大长度
JSON 网络令牌 (JWT)
在规范中没有关于它的信息。难不成,没有长度限制?
【问题讨论】:
标签: jwt
当使用 heroku 时,标题将被限制为 8k。根据您在 jwt2 上使用的数据量,它会到达。请求过大时,不会触及您的节点实例,heroku 路由器会将其丢弃在您的 API 层之前..
在处理传入请求时,路由器设置 8KB 接收 缓冲区并开始读取 HTTP 请求行和请求标头。 这些中的每一个的长度最多为 8KB,但加起来可以更多 总共超过 8KB。包含请求行或标题行的请求 超过 8KB 的数据将被路由器丢弃而不被 已发送。
【讨论】:
如您所说,RFC7519 (https://www.rfc-editor.org/rfc/rfc7519) 或其他与 JWS 或 JWE 相关的 RFC 中没有定义最大长度。
如果您使用 JSON Serialized 格式或 JSON Flattened Serialized 格式,则没有限制,也没有理由定义限制。
但是如果您使用 JSON Compact Serialized 格式(最常见的格式),您必须记住它应该尽可能短,因为它主要用于 Web 上下文。应该避免使用 4kb JWT。
注意只存储有用的声明和标题信息。
【讨论】:
我也一直在寻找这个。
我会说 - 尝试确保它低于 7kb。
虽然 JWT 在规范 (http://www.rfc-editor.org/rfc/rfc7519.txt) 中没有定义上限,但我们确实有一些操作限制。 由于 JWT 包含在 HTTP 标头中,我们在当前大多数服务器上的上限 (SO: Maximum on http header values) 为 8K。
因为这包括 所有 请求标头
由于它是加密和 base64ed 的,原始 json 字符串至少有 33% 的浪费,所以请检查最终加密令牌的长度。
最后一点 - 代理和其他网络设备可能会在此过程中应用任意限制...
【讨论】: