Я пытаюсь изменить jwt в java, я использовал код, подобный этому сообщению: Java - Проверка JWT Auth0 - это правильно?
public void parseJWTKey(HttpHeaders header)
{
try
{
Jwk jwk = getPublicKey(); //method to retrieve public key from auth server (identity server)
RSAPublicKey publicKey = (RSAPublicKey) jwk.getPublicKey();
Algorithm alg = Algorithm.RSA256(publicKey, null);
JWTVerifier verifier = JWT.require(alg)
.withIssuer("auth0")
.build();
String headerString = header.toString();
String parsedHeader = headerString.substring(headerString.indexOf(" "), headerString.lastIndexOf("\""));
DecodedJWT dJwt = verifier.verify(parsedHeader);
}
catch(JWTVerificationException | JwkException | NullPointerException a)
{
a.printStackTrace();//TODO: Logging
}
}
но я получаю сообщение об ошибке: com.auth0.jwt.exceptions.SignatureVerificationException: подпись токена оказалась недействительной при проверке с использованием алгоритма: SHA256withRSA Я также видел этот пост: com. auth0.jwt.exceptions.SignatureVerificationException: Подпись токена оказалась недействительной при проверке с использованием алгоритма: SHA256withRSA , но я не использую HMAC256.
1013 * Несмотря на то, что я могу получить JWT: 1015 *
eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjNDM5MmMxMDA1MGJiN2E2MDYwMTVlMTk0MTNkOWMxIiwidHlwIjoiSldUIn0.eyJuYmYiOjE1NzE2NTU3NzEsImV4cCI6MTU3MTY4NDU3MSwiaXNzIjoiaHR0cDovLzE5Mi4xNjguMTAwLjEwMTo1MDU1IiwiYXVkIjpbImh0dHA6Ly8xOTIuMTY4LjEwMC4xMDE6NTA1NS9yZXNvdXJjZXMiLCJjbGFpbXNhcGkiXSwiY2xpZW50X2lkIjoicm8udGVzdGNsaWVudCIsInN1YiI6IjEiLCJhdXRoX3RpbWUiOjE1NzE2NTU3NzEsImlkcCI6ImxvY2FsIiwic2NvcGUiOlsib2ZmaWNlIiwib3BlbmlkIiwicHJvZmlsZSIsImNsYWltc2FwaSJdLCJhbXIiOlsicHdkIl19.oK4Cg2laKUgdAHpyZ3yB7bVlgdHevhkzQMn47wnQPbvc04GME90wXScHxTSNkgtTPnuXK_t-ddyPYrxOZFnHPfDr9PLTjDXilLF90Ga91a4khFvRqvTqRwXAnpsamAsBdXZoybkbQ8c_x7kPua5NwN13AJU_cL37tSuor4ujYIJ9McLdQDLIBhD7b76QAMF2UkstFG_oPUSwycot-18zuaB97K4b5X-УО-j2DfEy15caRmMGxX-1c4EMw4T4pxHkQc4WVumA0C2nsCufJ1ZyZ74bcebRTTbb9y__QDvekGa1vfUYG6Pon7q83gQVWiH580vwiH60rrICjl9fNK4hmQ Я не могуполучить доступ к закрытому ключу, чтобы проверить подпись на jwt.io , так как она хранится в экземпляре сервера идентификацииce, который не находится под моим контролем, однако, с моим ограниченным знанием oauth, я считаю, что это не проблема.