Создал класс для генерации приватного токена jwt и попытался распечатать его на консоли, но он давал исключение StreamCorruptedException - PullRequest
0 голосов
/ 09 апреля 2020

Я написал приведенный ниже код для печати privatetoken, но он выдает

Исключение в потоке "main" java .io.StreamCorruptedException: недопустимый заголовок потока: 2D2D2D2D в java .io. ObjectInputStream.readStreamHeader (Неизвестный источник) в java .io.ObjectInputStream. (Неизвестный источник)

public static void main(String[] args) throws ClassNotFoundException, IOException {

        final Map<String, Object> jsonData = new HashMap<>();
        jsonData.put("given_name", "Abhishek");
        jsonData.put("family_name", "Singh");
        jsonData.put("email", "xssca@gmail.com");
        jsonData.put("gender", "");
        jsonData.put("preferred_username", "Abhishek");
        jsonData.put("phone_number", "");

        final Date createdDate = new Date();
        final Date expirationDate = new Date(createdDate.getTime() + 3600);
        JwtBuilder builder = Jwts.builder();
        builder.setExpiration(expirationDate);
        builder.setIssuedAt(createdDate);
        builder.setSubject("xssca@gmail.com");
        builder.setIssuer("ABCDSE");
        builder.setClaims(jsonData);

        //Path path = FileSystems.getDefault().getPath("private_key_idp.pem");
        /*Path path = FileSystems.getDefault().getPath(".").toAbsolutePath();
        System.out.println(path);*/

        // create an ObjectInputStream for the file we created before
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("private_key_idp.pem"));
        Key privateKey = (Key) ois.readObject();
        String jsontoken = builder.signWith(privateKey, SignatureAlgorithm.RS256).compact();
        System.out.println(jsontoken);

    }

Может кто-нибудь помочь мне с этим?

...