Есть ли способ настроить Nimbus OIDC для приема JWT без претензий iat?

Наша команда проверяет токен доступа к API, предоставленный организацией безопасности внутри организации, но не контролируемый нами.

Маркер доступа представлен в виде JWT, подписанного сертификатом x.509. Мы используемcom.nimbusds/oauth2-oidc-sdk для проверки токена.

В rsaKey описанная ниже переменная является com.nimbusds.jose.jwk.RSAKeyпостроен как в этом примере.

public IDTokenClaimsSet validate(String completeJwt) throws Exception {
    IDTokenValidator validator = new IDTokenValidator(
            new Issuer("Issuer"), new ClientID("OurClientId"), JWSAlgorithm.RS256, new JWKSet(rsaKey));
    JWT idToken = JWTParser.parse(completeJwt);
    return validator.validate(idToken, null);
}

У возвращенного токена нет iatзаголовок в полезной нагрузке. Это вызываетIDTokenValidator бросить BadJWTException. ВIDTokenClaimsSet также требуется, чтобы этот заголовок присутствовал для анализа JWT.

Согласно спецификации OpenID Connect, требование IAT может использоваться для отклонения токенов, выпущенных слишком далеко в прошлом. Это контрастирует с другими заголовками, которые должны присутствовать в соответствии со спецификацией.

Итак, есть ли способ настроить эту библиотеку для лечения iatкак необязательный? Или нам придется использовать модифицированную версию библиотеки, для которой не нужен этот заголовок?

0 ответов

Другие вопросы по тегам