JOSE Header 是 JWT 令牌的强制性部分吗

Is the JOSE Header a mandatory part of a JWT token

我正在考虑将 JWT 功能添加到令牌生成系统中,该系统目前使用我们自己的签名和自定义算法支持 SAML。在这种情况下,我们是否应该始终拥有令牌的 JOSE Header,或者我们是否可以只生成带有声明的 JWT。

在线路上发送的 JWT 以其紧凑的序列化表示形式必须始终包含 header,但如果您不签署 JWT,则可以将 header 设置为 base64 编码值{"alg":"none"}.

但是,如果您想在您控制和实施的两个系统之间发送它,您只能发送有效负载 JSON object,即 JWT 声明集。当然,你将无法使用 JWT 库解析它,但你可以像对待任何其他 JSON object 一样使用普通的 JSON 解析器。