java и auth0: недопустимое исключение подписи токена - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь изменить 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, я считаю, что это не проблема.

...