Ich verwende NimbusJwtDecoder, um die Signatur des JWT-Tokens zu überprüfen
Code: Select all
SecretKeySpec secretKeySpec = new SecretKeySpec(hmacSecret.getBytes(StandardCharsets.UTF_8),(String) JCA_ALGORITHM_MAPPINGS.get(algo));
return NimbusJwtDecoder.withSecretKey(secretKeySpec).macAlgorithm((MacAlgorithm) algo).build();
Und dann verwende ich es wie folgt:
Das JWT wird mit dem MacAlgorithm-Algorithmus signiert, aber das Problem ist: Der Client verwendet ein Rohgeheimnis, um ein JWT zu erstellen und zu signieren, aber der Server arbeitet mit einer gehashten Version des Schlüssels (sha256). Funktioniert Nimbus mit einer gehashten Version von SecretKey oder benötigt es einen geheimen RAW-Schlüssel, um die Signatur zu überprüfen?
Danke für die Hilfe