Class SoftwareStatementProcessor<C extends com.nimbusds.jose.proc.SecurityContext>
java.lang.Object
com.nimbusds.openid.connect.sdk.rp.statement.SoftwareStatementProcessor<C>
- Type Parameters:
C
- Optional security context to pass to the underlying JWK source.
@ThreadSafe
public class SoftwareStatementProcessor<C extends com.nimbusds.jose.proc.SecurityContext>
extends Object
Processor of software statements for client registrations.
Related specifications:
- OAuth 2.0 Dynamic Client Registration Protocol (RFC 7591)
-
Constructor Summary
ConstructorsConstructorDescriptionSoftwareStatementProcessor
(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.JWKSet jwkSet) Creates a new software statement processor.SoftwareStatementProcessor
(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource) Creates a new software statement processor.SoftwareStatementProcessor
(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource, Set<String> additionalRequiredClaims) Deprecated.SoftwareStatementProcessor
(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, URL jwkSetURL, int connectTimeoutMs, int readTimeoutMs, int sizeLimitBytes) Creates a new software statement processor.SoftwareStatementProcessor
(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, Set<com.nimbusds.jose.JOSEObjectType> jwtTypes, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource, Set<String> additionalRequiredClaims) Creates a new software statement processor. -
Method Summary
Modifier and TypeMethodDescriptionprocess
(OIDCClientMetadata clientMetadata) Processes an optional software statement in the specified client metadata.process
(OIDCClientMetadata clientMetadata, C context) Processes an optional software statement in the specified client metadata.
-
Constructor Details
-
SoftwareStatementProcessor
public SoftwareStatementProcessor(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.JWKSet jwkSet) Creates a new software statement processor.- Parameters:
issuer
- The allowed software statement issuer. Must not benull
.required
- Iftrue
the processed client metadata must include a software statement and if missing this will result in ainvalid_software_statement
error. Iffalse
client metadata with missing software statement will be returned unmodified by the processor.jwsAlgs
- The allowed JWS algorithms of the software statements. Must not be empty ornull
.jwkSet
- The public JWK set for verifying the software statement signatures.
-
SoftwareStatementProcessor
public SoftwareStatementProcessor(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, URL jwkSetURL, int connectTimeoutMs, int readTimeoutMs, int sizeLimitBytes) Creates a new software statement processor.- Parameters:
issuer
- The allowed software statement issuer. Must not benull
.required
- Iftrue
the processed client metadata must include a software statement and if missing this will result in ainvalid_software_statement
error. Iffalse
client metadata with missing software statement will be returned unmodified by the processor.jwsAlgs
- The allowed JWS algorithms of the software statements. Must not be empty ornull
.jwkSetURL
- The public JWK set URL for verifying the software statement signatures.connectTimeoutMs
- The HTTP connect timeout in milliseconds for retrieving the JWK set, zero implies no timeout (determined by the underlying HTTP client).readTimeoutMs
- The HTTP read timeout in milliseconds for retrieving the JWK set, zero implies no timeout (determined by the underlying HTTP client).sizeLimitBytes
- The HTTP entity size limit in bytes when retrieving the JWK set, zero implies no limit.
-
SoftwareStatementProcessor
public SoftwareStatementProcessor(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource) Creates a new software statement processor.- Parameters:
issuer
- The allowed software statement issuer. Must not benull
.required
- Iftrue
the processed client metadata must include a software statement and if missing this will result in ainvalid_software_statement
error. Iffalse
client metadata with missing software statement will be returned unmodified by the processor.jwsAlgs
- The allowed JWS algorithms of the software statements. Must not be empty ornull
.jwkSource
- The public JWK source to use for verifying the software statement signatures.
-
SoftwareStatementProcessor
@Deprecated public SoftwareStatementProcessor(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource, Set<String> additionalRequiredClaims) Deprecated.Creates a new software statement processor.- Parameters:
issuer
- The allowed software statement issuer. Must not benull
.required
- Iftrue
the processed client metadata must include a software statement and if missing this will result in ainvalid_software_statement
error. Iffalse
client metadata with missing software statement will be returned unmodified by the processor.jwsAlgs
- The allowed JWS algorithms of the software statements. Must not be empty ornull
.jwkSource
- The public JWK source to use for verifying the software statement signatures.additionalRequiredClaims
- The names of any additional JWT claims other than "iss" (issuer) that must be present in the software statement, empty ornull
if none.
-
SoftwareStatementProcessor
public SoftwareStatementProcessor(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, Set<com.nimbusds.jose.JOSEObjectType> jwtTypes, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource, Set<String> additionalRequiredClaims) Creates a new software statement processor.- Parameters:
issuer
- The allowed software statement issuer. Must not benull
.required
- Iftrue
the processed client metadata must include a software statement and if missing this will result in ainvalid_software_statement
error. Iffalse
client metadata with missing software statement will be returned unmodified by the processor.jwsAlgs
- The allowed JWS algorithms of the software statements. Must not be empty ornull
.jwtTypes
- The allowed JWT "typ" (type) header values of the software statements,null
or empty to acceptJWT
or none.jwkSource
- The public JWK source to use for verifying the software statement signatures.additionalRequiredClaims
- The names of any additional JWT claims other than "iss" (issuer) that must be present in the software statement, empty ornull
if none.
-
-
Method Details
-
process
public OIDCClientMetadata process(OIDCClientMetadata clientMetadata) throws InvalidSoftwareStatementException, com.nimbusds.jose.JOSEException Processes an optional software statement in the specified client metadata.- Parameters:
clientMetadata
- The client metadata, must not benull
.- Returns:
- The processed client metadata, with the merged software statement.
- Throws:
InvalidSoftwareStatementException
- On a invalid or missing required software statement.com.nimbusds.jose.JOSEException
- On a internal JOSE signature verification exception.
-
process
public OIDCClientMetadata process(OIDCClientMetadata clientMetadata, C context) throws InvalidSoftwareStatementException, com.nimbusds.jose.JOSEException Processes an optional software statement in the specified client metadata.- Parameters:
clientMetadata
- The client metadata, must not benull
.context
- Optional security context to pass to the underlying JWK source,null
if not specified.- Returns:
- The processed client metadata, with the merged software statement.
- Throws:
InvalidSoftwareStatementException
- On a invalid or missing required software statement.com.nimbusds.jose.JOSEException
- On a internal JOSE signature verification exception.
-