【发布时间】:2021-12-20 00:45:43
【问题描述】:
我用下面的代码在 nodejs 中签署了一个 jwt。
var jwtoken = jwt.sign({ email: 'test@test.com', name: 'test' }, 'abcd');
我在签名后得到了下面的令牌
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJuYW1lIjoidGVzdCIsImlhdCI6MTYzNjE4MjYwOX0.07FXjm1lKEIiU_QOMEEOFzhsC0vtKt4PFoW-7YHHzyM
当我将 JWT 粘贴到 jwt.io 时,我想用 jwt.io 验证这一点,我可以看到该网站对我提供的任何密钥都显示“签名验证”(我不需要提供 abcd 这是我的实际钥匙)。我期望需要密钥来确定签名是否有效。 jwt.io如何判断一个jwt在没有原始key的情况下是否有效。
【问题讨论】:
-
它对我说“签名无效”
-
@slebetman 基于问题标题即使未提供密钥也已验证签名您的陈述是正确的。当没有提供秘密时,结果是“无效签名”。但是,在问题中,OP 为我提供的任何密钥写入 “签名验证”。这就是我的回答所涵盖的情况。