我正在尝试在节点服务器[npm install jsonwebtoken]中解码JWT,该服务器是在java中创建的[io.jsonwebtoken/jjwt/0.6.0],但得到无效的签名错误。
有没有人经历过同样的事情并找到了解决方案,那么您能否与小组分享。
在爪哇
jwtToken = Jwts.builder().setSubject(email).claim("roles", "user").setIssuedAt(new Date(currentTimeInMills)).setExpiration(new Date(expireIn)) .signWith(SignatureAlgorithm.HS256,"secretKey").compact();
在节点中
var jwt = require('jsonwebtoken'); var decoding = jwt.verify(jwtToken, "secretKey");
您的节点代码是否默认为 HS256 的签名算法?
错误非常明显,JWT 以跨平台兼容而闻名。
验证两端的密钥是否相同,声明对象在两端是否相同,以及使用的签名算法在两端是否相同。