Class NimbusJwtDecoder.SecretKeyJwtDecoderBuilder
- Enclosing class:
- NimbusJwtDecoder
NimbusJwtDecoder
instances based on a
SecretKey
.-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Build the configuredNimbusJwtDecoder
.jwtProcessorCustomizer
(Consumer<com.nimbusds.jwt.proc.ConfigurableJWTProcessor<com.nimbusds.jose.proc.SecurityContext>> jwtProcessorCustomizer) Use the givenConsumer
to customize theConfigurableJWTProcessor
before passing it to the buildNimbusJwtDecoder
.macAlgorithm
(MacAlgorithm macAlgorithm) Use the given algorithm when generating the MAC.validateType
(boolean shouldValidateTypHeader) Whether to use Nimbus's typ header verification.
-
Method Details
-
validateType
Whether to use Nimbus's typ header verification. This istrue
by default, however it may change tofalse
in a future major release.By turning off this feature,
NimbusJwtDecoder
expects applications to check thetyp
header themselves in order to determine what kind of validation is neededThis is done for you when you use
JwtValidators
to construct a validator.That means that this:
NimbusJwtDecoder jwtDecoder = NimbusJwtDecoder.withIssuerLocation(issuer).build(); jwtDecoder.setJwtValidator(JwtValidators.createDefaultWithIssuer(issuer);
Is equivalent to this:
NimbusJwtDecoder jwtDecoder = NimbusJwtDecoder.withIssuerLocation(issuer) .validateType(false) .build(); jwtDecoder.setJwtValidator(JwtValidators.createDefaultWithValidators( new JwtIssuerValidator(issuer), JwtTypeValidator.jwt());
The difference is that by setting this to
false
, it allows you to provide validation by type, like forat+jwt
:NimbusJwtDecoder jwtDecoder = NimbusJwtDecoder.withIssuerLocation(issuer) .validateType(false) .build(); jwtDecoder.setJwtValidator(new MyAtJwtValidator());
- Parameters:
shouldValidateTypHeader
- whether Nimbus should validate the typ header or not- Returns:
- a
NimbusJwtDecoder.JwkSetUriJwtDecoderBuilder
for further configurations - Since:
- 6.5
-
macAlgorithm
Use the given algorithm when generating the MAC. The value should be one of HS256, HS384 or HS512.- Parameters:
macAlgorithm
- the MAC algorithm to use- Returns:
- a
NimbusJwtDecoder.SecretKeyJwtDecoderBuilder
for further configurations
-
jwtProcessorCustomizer
public NimbusJwtDecoder.SecretKeyJwtDecoderBuilder jwtProcessorCustomizer(Consumer<com.nimbusds.jwt.proc.ConfigurableJWTProcessor<com.nimbusds.jose.proc.SecurityContext>> jwtProcessorCustomizer) Use the givenConsumer
to customize theConfigurableJWTProcessor
before passing it to the buildNimbusJwtDecoder
.- Parameters:
jwtProcessorCustomizer
- the callback used to alter the processor- Returns:
- a
NimbusJwtDecoder.SecretKeyJwtDecoderBuilder
for further configurations - Since:
- 5.4
-
build
Build the configuredNimbusJwtDecoder
.- Returns:
- the configured
NimbusJwtDecoder
-