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), sections 2.3 and 3.1.1.
-
-
Constructor Summary
Constructors Constructor Description SoftwareStatementProcessor(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)Creates a new software statement processor.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OIDCClientMetadataprocess(OIDCClientMetadata clientMetadata)Processes an optional software statement in the specified client metadata.OIDCClientMetadataprocess(OIDCClientMetadata clientMetadata, C context)Processes an optional software statement in the specified client metadata.
-
-
-
Constructor Detail
-
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 expected software statement issuer. Must not benull.required- Iftruethe processed client metadata must include a software statement and if missing this will result in ainvalid_software_statementerror. Iffalseclient metadata with missing software statement will be returned unmodified by the processor.jwsAlgs- The expected 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 expected software statement issuer. Must not benull.required- Iftruethe processed client metadata must include a software statement and if missing this will result in ainvalid_software_statementerror. Iffalseclient metadata with missing software statement will be returned unmodified by the processor.jwsAlgs- The expected 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 expected software statement issuer. Must not benull.required- Iftruethe processed client metadata must include a software statement and if missing this will result in ainvalid_software_statementerror. Iffalseclient metadata with missing software statement will be returned unmodified by the processor.jwsAlgs- The expected 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
public SoftwareStatementProcessor(Issuer issuer, boolean required, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs, com.nimbusds.jose.jwk.source.JWKSource<C> jwkSource, Set<String> additionalRequiredClaims)
Creates a new software statement processor.- Parameters:
issuer- The expected software statement issuer. Must not benull.required- Iftruethe processed client metadata must include a software statement and if missing this will result in ainvalid_software_statementerror. Iffalseclient metadata with missing software statement will be returned unmodified by the processor.jwsAlgs- The expected 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 ornullif none.
-
-
Method Detail
-
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,nullif 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.
-
-