powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / JWT-token offline decoder
13 сообщений из 13, страница 1 из 1
JWT-token offline decoder
    #39978220
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Нужна оффлайновая тулза для просмотра содержимого JWT-token.
Большинство тулов что я видел - предполагают что вы копи-пастите содержимое в некий веб-ресурс.
Хотелось-бы найти оффлайновый вариант.

Спасибо.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39978238
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JJWT
https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt/0.9.1

Нужно небольшой код написать будет, но там всё просто.

Jwt jwt = Jwts.parser().setSigningKey(publicKey).parse(jwtString)
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39978242
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тулза мне не попадалась оффлайновая, если кто знает - мне тоже интересно узнать.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39978245
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пару проектов назад мы кажется использовали эту тулзу https://bitbucket.org/connect2id/nimbus-jose-jwt/wiki/Home

Есть в ней консоль или нет - я не знаю. Но возможно мне удасться собрать из нее такой себе cli-вариант.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39978321
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Привет.

Нужна оффлайновая тулза для просмотра содержимого JWT-token.
Большинство тулов что я видел - предполагают что вы копи-пастите содержимое в некий веб-ресурс.
Хотелось-бы найти оффлайновый вариант.

Спасибо.


Вроде как настрогали под линуксом CLI навроде этих
https://gist.github.com/thomasdarimont/46358bc8167fce059d83a1ebdb92b0e7
https://www.npmjs.com/package/jwt-cli

я точно не помню, но у нас были рекомендации пользоваться исключительно локальными тулами
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39978426
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оба решения - не pure java.
Первая ссылка косвенно использует нативный инструмент jq. Его надо качать и ставить (если у вас - windows).

Второе - ссылается на пакеты npm. Это node. Тоже вобщем чужеродная для java технология.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980062
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так вобщем-то. По жлобски.

Код: java
1.
2.
3.
4.
   public static void main(String[] args) throws IOException, ParseException {
        SignedJWT signedJWT = SignedJWT.parse((IOUtils.toString(new FileInputStream(args[0]), StandardCharsets.UTF_8)));
        System.out.println(signedJWT.getJWTClaimsSet());
    }



демо-Ключик с сайта jwt.io

Код: java
1.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c



Декодируется

Код: java
1.
2.
$ ./jwt-cli sample.jwt
{"sub":"1234567890","name":"John Doe","iat":1516239022}
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980068
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну для такого результа можно было и как-то так )
Код: java
1.
2.
3.
4.
5.
6.
        String jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
        var jwtJsons = jwt.split("[.]");
        var jwtHeader = new String(Base64.getDecoder().decode(jwtJsons[0].getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8);
        var jwtPayload = new String(Base64.getDecoder().decode(jwtJsons[1].getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8);
        System.out.println(jwtHeader);
        System.out.println(jwtPayload);


А так вся возня в зашированной/подписанной части
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980073
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы предпочел использовать API который предлагают здесь.

Код: java
1.
compile group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '8.19'



Я вывел payload секцию. А если надо будет цифровые подписи проверять - то головняк...
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980630
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чем не устроил JJWT? Его оч. умные люди делают кстати.

И не забывайте что токен может быть compact и zip.
Лучше руками не парсить его.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980651
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
чем не устроил JJWT? Его оч. умные люди делают кстати.

И не забывайте что токен может быть compact и zip.
Лучше руками не парсить его.

Приаттачте к форуму еще какие варианты бывают.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980667
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел https://github.com/jwtk/jjwt

Я не могу сказать что не устраивает. Возможно устроит. Но я следую принципу минимализма. Если nimbus-jose
решает мою задачу - то он годится. Брать другую библиотеку просто так я не хочу. Если будет кейс
когда нимбус не справится или будет с чем-то не совместим - то я обязательно проверю альтернативный
вариант.
...
Рейтинг: 0 / 0
JWT-token offline decoder
    #39980846
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял, оки.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JWT-token offline decoder
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]