/
Al
/
TESamples
Обзор
Документация
Войти
/
Al
/
TESamples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
apps/spring/token-exchange-lib/src/main/java/com/tokenexchange/lib/JwtPayloadDecoder.java
27 строк
1 KB
Al
Initial Commit
11 май 2026, 17:40
11 май 2026, 17:40
0a04577
Код
Авторство
О чём код?
package com.tokenexchange.lib; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.nimbusds.jwt.JWTParser; /** * Парсит JWT-payload через Nimbus JOSE JWT (та же библиотека, на которую опирается * Spring Security {@code NimbusJwtDecoder}). Подпись здесь <b>не</b> проверяется — * метод используется только для отображения claims в BFF (FR-13.6 показ цепочки * делегирования); валидация подписи и claims (iss/aud/exp) выполняется в downstream- * сервисах через {@code spring-boot-starter-oauth2-resource-server}. */ public final class JwtPayloadDecoder { private static final ObjectMapper MAPPER = new ObjectMapper(); private JwtPayloadDecoder() {} public static JsonNode decode(String jwt) { try { var claims = JWTParser.parse(jwt).getJWTClaimsSet().toJSONObject(); return MAPPER.valueToTree(claims); } catch (Exception e) { throw new IllegalArgumentException("Failed to parse JWT: " + e.getMessage(), e); } } }