Record Class ProtectedResourceMetadata
java.lang.Object
java.lang.Record
io.micronaut.security.oauth2.metadata.ProtectedResourceMetadata
- Record Components:
resource- The protected resource's resource identifier, which is a URL that uses the https scheme and has no fragment component.- JSON array containing a list of OAuth authorization server issuer identifiers.jwksUri- URL of the protected resource's JSON Web Key (JWK) Set [JWK] document.scopesSupported- JSON array containing a list of scope values.bearerMethodsSupported- JSON array containing a list of the supported methods of sending an OAuth 2.0 bearer token.resourceSigningAlgValuesSupported- JSON array containing a list of the JWS [JWS] signing algorithms (alg values).resourceName- Human-readable name of the protected resource intended for display to the end user.resourceDocumentation- URL of a page containing human-readable information that developers might want or need to know when using the protected resource.resourcePolicyUri- URL of a page containing human-readable information about the protected resource's requirements on how the client can use the data provided by the protected resource.resourceTosUri- URL of a page containing human-readable information about the protected resource's terms of service.tlsClientCertificateBoundAccessTokens- Boolean value indicating protected resource support for mutual-TLS client certificate-bound access tokens.- JSON array containing a list of the authorization details type values supported by the resource server when the authorization_details request parameter [RFC9396] is used.dpopSigningAlgValuesSupported- SON array containing a list of the JWS alg values (from the "JSON Web Signature and Encryption Algorithms" registry [IANA.JOSE]) supported by the resource server for validating Demonstrating Proof of Possession (DPoP) proof JWTs [RFC9449].dpopBoundAccessTokensRequired- Boolean value specifying whether the protected resource always requires the use of DPoP-bound access tokens [RFC9449].
public record ProtectedResourceMetadata(@NonNull String resource, @Nullable List<String> authorizationServers, @Nullable String jwksUri, @Nullable List<String> scopesSupported, @Nullable List<String> bearerMethodsSupported, @Nullable List<String> resourceSigningAlgValuesSupported, String resourceName, @Nullable String resourceDocumentation, @Nullable String resourcePolicyUri, @Nullable String resourceTosUri, @Nullable Boolean tlsClientCertificateBoundAccessTokens, @Nullable List<String> authorizationDetailsTypesSupported, @Nullable List<String> dpopSigningAlgValuesSupported, Boolean dpopBoundAccessTokensRequired)
extends Record
Protected Resource Metadata as defined in RFC9728.
Protected Resource Metadata Terminology
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionProtectedResourceMetadata(@NonNull String resource, @Nullable List<String> authorizationServers, @Nullable String jwksUri, @Nullable List<String> scopesSupported, @Nullable List<String> bearerMethodsSupported, @Nullable List<String> resourceSigningAlgValuesSupported, String resourceName, @Nullable String resourceDocumentation, @Nullable String resourcePolicyUri, @Nullable String resourceTosUri, @Nullable Boolean tlsClientCertificateBoundAccessTokens, @Nullable List<String> authorizationDetailsTypesSupported, @Nullable List<String> dpopSigningAlgValuesSupported, Boolean dpopBoundAccessTokensRequired) Creates an instance of aProtectedResourceMetadatarecord class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theauthorizationDetailsTypesSupportedrecord component.Returns the value of theauthorizationServersrecord component.Returns the value of thebearerMethodsSupportedrecord component.static @NonNull ProtectedResourceMetadata.Builderbuilder()Create a new builder.Returns the value of thedpopBoundAccessTokensRequiredrecord component.Returns the value of thedpopSigningAlgValuesSupportedrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.@Nullable StringjwksUri()Returns the value of thejwksUrirecord component.@NonNull Stringresource()Returns the value of theresourcerecord component.@Nullable StringReturns the value of theresourceDocumentationrecord component.Returns the value of theresourceNamerecord component.@Nullable StringReturns the value of theresourcePolicyUrirecord component.Returns the value of theresourceSigningAlgValuesSupportedrecord component.@Nullable StringReturns the value of theresourceTosUrirecord component.Returns the value of thescopesSupportedrecord component.@Nullable BooleanReturns the value of thetlsClientCertificateBoundAccessTokensrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
ProtectedResourceMetadata
public ProtectedResourceMetadata(@NonNull @NonNull String resource, @Nullable @Nullable List<String> authorizationServers, @Nullable @Nullable String jwksUri, @Nullable @Nullable List<String> scopesSupported, @Nullable @Nullable List<String> bearerMethodsSupported, @Nullable @Nullable List<String> resourceSigningAlgValuesSupported, String resourceName, @Nullable @Nullable String resourceDocumentation, @Nullable @Nullable String resourcePolicyUri, @Nullable @Nullable String resourceTosUri, @Nullable @Nullable Boolean tlsClientCertificateBoundAccessTokens, @Nullable @Nullable List<String> authorizationDetailsTypesSupported, @Nullable @Nullable List<String> dpopSigningAlgValuesSupported, Boolean dpopBoundAccessTokensRequired) Creates an instance of aProtectedResourceMetadatarecord class.- Parameters:
resource- the value for theresourcerecord componentauthorizationServers- the value for theauthorizationServersrecord componentjwksUri- the value for thejwksUrirecord componentscopesSupported- the value for thescopesSupportedrecord componentbearerMethodsSupported- the value for thebearerMethodsSupportedrecord componentresourceSigningAlgValuesSupported- the value for theresourceSigningAlgValuesSupportedrecord componentresourceName- the value for theresourceNamerecord componentresourceDocumentation- the value for theresourceDocumentationrecord componentresourcePolicyUri- the value for theresourcePolicyUrirecord componentresourceTosUri- the value for theresourceTosUrirecord componenttlsClientCertificateBoundAccessTokens- the value for thetlsClientCertificateBoundAccessTokensrecord componentauthorizationDetailsTypesSupported- the value for theauthorizationDetailsTypesSupportedrecord componentdpopSigningAlgValuesSupported- the value for thedpopSigningAlgValuesSupportedrecord componentdpopBoundAccessTokensRequired- the value for thedpopBoundAccessTokensRequiredrecord component
-
-
Method Details
-
builder
Create a new builder.- Returns:
- A builder instance.
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
resource
Returns the value of theresourcerecord component.- Returns:
- the value of the
resourcerecord component
-
authorizationServers
Returns the value of theauthorizationServersrecord component.- Returns:
- the value of the
authorizationServersrecord component
-
jwksUri
Returns the value of thejwksUrirecord component.- Returns:
- the value of the
jwksUrirecord component
-
scopesSupported
Returns the value of thescopesSupportedrecord component.- Returns:
- the value of the
scopesSupportedrecord component
-
bearerMethodsSupported
Returns the value of thebearerMethodsSupportedrecord component.- Returns:
- the value of the
bearerMethodsSupportedrecord component
-
resourceSigningAlgValuesSupported
Returns the value of theresourceSigningAlgValuesSupportedrecord component.- Returns:
- the value of the
resourceSigningAlgValuesSupportedrecord component
-
resourceName
Returns the value of theresourceNamerecord component.- Returns:
- the value of the
resourceNamerecord component
-
resourceDocumentation
Returns the value of theresourceDocumentationrecord component.- Returns:
- the value of the
resourceDocumentationrecord component
-
resourcePolicyUri
Returns the value of theresourcePolicyUrirecord component.- Returns:
- the value of the
resourcePolicyUrirecord component
-
resourceTosUri
Returns the value of theresourceTosUrirecord component.- Returns:
- the value of the
resourceTosUrirecord component
-
tlsClientCertificateBoundAccessTokens
Returns the value of thetlsClientCertificateBoundAccessTokensrecord component.- Returns:
- the value of the
tlsClientCertificateBoundAccessTokensrecord component
-
authorizationDetailsTypesSupported
Returns the value of theauthorizationDetailsTypesSupportedrecord component.- Returns:
- the value of the
authorizationDetailsTypesSupportedrecord component
-
dpopSigningAlgValuesSupported
Returns the value of thedpopSigningAlgValuesSupportedrecord component.- Returns:
- the value of the
dpopSigningAlgValuesSupportedrecord component
-
dpopBoundAccessTokensRequired
Returns the value of thedpopBoundAccessTokensRequiredrecord component.- Returns:
- the value of the
dpopBoundAccessTokensRequiredrecord component
-