Auth0提供了两个 JWT 库,一个用于 Node:node-jsonwebtoken,一个用于 Java:java-jwt。事实证明,java-jwt不支持公钥/私钥对。
但是,另一个 java 库jjwt库声称支持该功能。但是,该文档没有显示如何在jjwt中使用自己的公钥/私钥对。
我创建了私钥/公钥对,并在 Node 中成功使用了node-jsonwebtoken:
var key = fs.readFileSync('private.key');
var pem = fs.readFileSync('public.pem');
var header = {...};
var payload = {...};
header.algorithm = "RS256";
var message = jsonwebtoken.sign(payload, key, header);
var decoded = jsonwebtoken.verify(message, pem, {algorithm: "RS256"});
但是我发现没有办法在 Java 中使用jjwt做同样的事情。
任何人都有一个工作示例,说明如何使用jjwt在 Java 中为 JWT 使用私钥/公钥?