有没有一种方法可以配置Nimbus OIDC接受JWT,而无需提出索赔?

时间:2020-01-21 09:10:34

标签: java security jwt nimbus-jose-jwt

我们的团队正在验证组织内部安全组织授予的API访问令牌,但我们对此没有监督。

访问令牌以JWT的形式出现,并用x.509证书签名。我们正在使用com.nimbusds/oauth2-oidc-sdk来验证令牌。

下面描述的rsaKey变量是this example中构造的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抛出BadJWTExceptionIDTokenClaimsSet还要求存在此标头,以便解析JWT。

根据the OpenID Connect spec,IAT声明 可用于拒绝过去发行的令牌过多。这与其他标头不同,其他标头必须根据规范存在。

因此,有没有一种方法可以配置此库以将iat视为可选库?还是我们必须使用不需要此标头的库的修改版本?

0 个答案:

没有答案