Package org.a2aproject.sdk.spec
Record Class AuthorizationCodeOAuthFlow
java.lang.Object
java.lang.Record
org.a2aproject.sdk.spec.AuthorizationCodeOAuthFlow
- Record Components:
- URL for the authorization endpoint where users authenticate (required)refreshUrl- URL for obtaining refresh tokens (optional)scopes- map of available OAuth scopes to their descriptions (required)tokenUrl- URL for the token endpoint where codes are exchanged for tokens (required)pkceRequired- Indicates if PKCE (RFC 7636) is required for this flow. (required)
public record AuthorizationCodeOAuthFlow(String authorizationUrl, String refreshUrl, Map<String,String> scopes, String tokenUrl, boolean pkceRequired)
extends Record
Configuration for the OAuth 2.0 Authorization Code flow.
The authorization code flow is the most secure OAuth 2.0 flow, recommended for server-side applications. It involves redirecting the user to an authorization server, obtaining an authorization code, and then exchanging that code for an access token.
This flow is suitable when the client can securely store client credentials and the authorization code can be exchanged server-side.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theauthorizationUrlrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.booleanReturns the value of thepkceRequiredrecord component.Returns the value of therefreshUrlrecord component.scopes()Returns the value of thescopesrecord component.tokenUrl()Returns the value of thetokenUrlrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
AuthorizationCodeOAuthFlow
public AuthorizationCodeOAuthFlow(String authorizationUrl, String refreshUrl, Map<String, String> scopes, String tokenUrl, boolean pkceRequired) Compact constructor that validates required fields.- Parameters:
authorizationUrl- the authorizationUrl parameter (see class-level JavaDoc)refreshUrl- the refreshUrl parameter (see class-level JavaDoc)scopes- the scopes parameter (see class-level JavaDoc)tokenUrl- the tokenUrl parameter (see class-level JavaDoc)pkceRequired- Indicates if PKCE (RFC 7636) is required for this flow. (required)- Throws:
IllegalArgumentException- if authorizationUrl, scopes, or tokenUrl is null
-
-
Method Details
-
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. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
authorizationUrl
Returns the value of theauthorizationUrlrecord component.- Returns:
- the value of the
authorizationUrlrecord component
-
refreshUrl
Returns the value of therefreshUrlrecord component.- Returns:
- the value of the
refreshUrlrecord component
-
scopes
Returns the value of thescopesrecord component.- Returns:
- the value of the
scopesrecord component
-
tokenUrl
Returns the value of thetokenUrlrecord component.- Returns:
- the value of the
tokenUrlrecord component
-
pkceRequired
public boolean pkceRequired()Returns the value of thepkceRequiredrecord component.- Returns:
- the value of the
pkceRequiredrecord component
-