Auth0 bietet zwei JWT-Bibliotheken, eine für Knoten: node-jsonwebtoken, und eine für Java: java-jwt. Es turns out, dass java-jwt keine öffentlichen/privaten Schlüsselpaare unterstützt.JWT: jwtk/jjwt mit öffentlichen/privaten Schlüsseln
Eine andere Java-Bibliothek, die jjwt-Bibliothek, beansprucht jedoch, diese Funktion zu unterstützen. Die Dokumentation zeigt jedoch nicht, wie man eigene öffentliche/private Schlüsselpaare in jjwt verwenden kann.
habe ich den privaten/öffentlichen Schlüsselpaar, und benutzte es erfolgreich in Knoten mit 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"});
Aber ich fand keine Möglichkeit, mit jjwt das gleiche in Java zu tun.
Jeder hat ein funktionierendes Beispiel zur Verwendung von privaten/öffentlichen Schlüsseln für JWT in Java mit jjwt?
FWIW zu unterschreiben: Ich würde raten Sie jose4j zu verwenden , https://bitbucket.org/b_c/jose4j/wiki/Home, die führende Java-Implementierung von JOSE/JWT –