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.
authorizationServers - 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.
authorizationDetailsTypesSupported - 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
  • Constructor Details

  • Method Details

    • builder

      @NonNull public static @NonNull ProtectedResourceMetadata.Builder builder()
      Create a new builder.
      Returns:
      A builder instance.
    • toString

      public final String 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.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • 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.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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 with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • resource

      @NonNull public @NonNull String resource()
      Returns the value of the resource record component.
      Returns:
      the value of the resource record component
    • authorizationServers

      @Nullable public @Nullable List<String> authorizationServers()
      Returns the value of the authorizationServers record component.
      Returns:
      the value of the authorizationServers record component
    • jwksUri

      @Nullable public @Nullable String jwksUri()
      Returns the value of the jwksUri record component.
      Returns:
      the value of the jwksUri record component
    • scopesSupported

      @Nullable public @Nullable List<String> scopesSupported()
      Returns the value of the scopesSupported record component.
      Returns:
      the value of the scopesSupported record component
    • bearerMethodsSupported

      @Nullable public @Nullable List<String> bearerMethodsSupported()
      Returns the value of the bearerMethodsSupported record component.
      Returns:
      the value of the bearerMethodsSupported record component
    • resourceSigningAlgValuesSupported

      @Nullable public @Nullable List<String> resourceSigningAlgValuesSupported()
      Returns the value of the resourceSigningAlgValuesSupported record component.
      Returns:
      the value of the resourceSigningAlgValuesSupported record component
    • resourceName

      public String resourceName()
      Returns the value of the resourceName record component.
      Returns:
      the value of the resourceName record component
    • resourceDocumentation

      @Nullable public @Nullable String resourceDocumentation()
      Returns the value of the resourceDocumentation record component.
      Returns:
      the value of the resourceDocumentation record component
    • resourcePolicyUri

      @Nullable public @Nullable String resourcePolicyUri()
      Returns the value of the resourcePolicyUri record component.
      Returns:
      the value of the resourcePolicyUri record component
    • resourceTosUri

      @Nullable public @Nullable String resourceTosUri()
      Returns the value of the resourceTosUri record component.
      Returns:
      the value of the resourceTosUri record component
    • tlsClientCertificateBoundAccessTokens

      @Nullable public @Nullable Boolean tlsClientCertificateBoundAccessTokens()
      Returns the value of the tlsClientCertificateBoundAccessTokens record component.
      Returns:
      the value of the tlsClientCertificateBoundAccessTokens record component
    • authorizationDetailsTypesSupported

      @Nullable public @Nullable List<String> authorizationDetailsTypesSupported()
      Returns the value of the authorizationDetailsTypesSupported record component.
      Returns:
      the value of the authorizationDetailsTypesSupported record component
    • dpopSigningAlgValuesSupported

      @Nullable public @Nullable List<String> dpopSigningAlgValuesSupported()
      Returns the value of the dpopSigningAlgValuesSupported record component.
      Returns:
      the value of the dpopSigningAlgValuesSupported record component
    • dpopBoundAccessTokensRequired

      public Boolean dpopBoundAccessTokensRequired()
      Returns the value of the dpopBoundAccessTokensRequired record component.
      Returns:
      the value of the dpopBoundAccessTokensRequired record component