是否可以在没有签名的情况下创建JWT令牌?
我们有一个案例,我们不需要签名,但需要所有其余的令牌 . 那么可以在没有签名的情况下创建JWT令牌吗?
根据文档,您可以通过以下方式创建令牌:
var token = jwt.sign
命令,所以它暗示秘密是强制性的 .
根据RFC 7519:
为了支持通过JWT中包含的签名和/或加密以外的方式保护JWT内容的用例(例如包含JWT的数据结构上的签名),JWT也可以在没有签名的情况下创建或者加密 . 不安全的JWT是使用“alg”标头参数值“无”的JWS,其JWS签名值为空字符串,如JWA规范[JWA]中所定义;它是一个不安全的JWS,JWT声明集作为其JWS Payload .
既然你没有使用't mention which library you',我想你使用的是from auth0 . 虽然我还没有测试过,但似乎将 algorithm 设置为 none 会导致"No digital signature or MAC value":
algorithm
none
var token = jwt.sign({ foo: 'bar' }, cert, { algorithm: 'none'});
1 回答
根据RFC 7519:
既然你没有使用't mention which library you',我想你使用的是from auth0 . 虽然我还没有测试过,但似乎将
algorithm
设置为none
会导致"No digital signature or MAC value":