Record Class AuthenticationInfo

java.lang.Object
java.lang.Record
org.a2aproject.sdk.spec.AuthenticationInfo
Record Components:
scheme - security scheme name for authentication (required)
credentials - optional credentials string (format depends on scheme, e.g., base64-encoded for Basic auth)

public record AuthenticationInfo(String scheme, String credentials) extends Record
Authentication information for agent authentication and push notification endpoints.

This record encapsulates authentication schemes and credentials for two primary use cases:

  • Agent Authentication: Clients authenticate to access protected agent resources. The scheme reference a security scheme from AgentCard.securitySchemes().
  • Push Notification Authentication: Agents authenticate when POSTing task updates to client-provided push notification endpoints. Supports HTTP Basic, Bearer tokens, API keys, OAuth.
See Also:
  • Constructor Details

    • AuthenticationInfo

      public AuthenticationInfo(String scheme, String credentials)
      Compact constructor that validates required fields.
      Parameters:
      scheme - the schemes parameter (see class-level JavaDoc)
      credentials - the credentials parameter (see class-level JavaDoc)
      Throws:
      IllegalArgumentException - if schemes is null
  • Method Details

    • 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.
    • scheme

      public String scheme()
      Returns the value of the scheme record component.
      Returns:
      the value of the scheme record component
    • credentials

      public String credentials()
      Returns the value of the credentials record component.
      Returns:
      the value of the credentials record component