Class OAuthFlow

java.lang.Object
org.apache.juneau.bean.openapi3.OpenApiElement
org.apache.juneau.bean.openapi3.OAuthFlow

public class OAuthFlow extends OpenApiElement
Configuration details for a supported OAuth Flow.

The OAuthFlow Object provides configuration details for a supported OAuth Flow. This object contains the URLs and scopes needed to configure a specific OAuth 2.0 flow. Different flows require different combinations of URLs and have different security characteristics.

OpenAPI Specification:

The OAuthFlow Object is composed of the following fields:

  • authorizationUrl (string) - The authorization URL to be used for this flow. This MUST be in the form of a URL
  • tokenUrl (string) - The token URL to be used for this flow. This MUST be in the form of a URL
  • refreshUrl (string) - The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL
  • scopes (map of strings) - The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it
Example:

// Construct using SwaggerBuilder. OAuthFlow x = oauthFlow() .setAuthorizationUrl("https://example.com/oauth/authorize") .setTokenUrl("https://example.com/oauth/token") .setScopes(map("read", "Read access", "write", "Write access")); // Serialize using JsonSerializer. String json = Json.from(x); // Or just use toString() which does the same as above. json = x.toString();

// Output { "authorizationUrl": "https://example.com/oauth/authorize", "tokenUrl": "https://example.com/oauth/token", "scopes": { "read": "Read access", "write": "Write access" } }

See Also:
  • Constructor Details

    • OAuthFlow

      public OAuthFlow()
      Default constructor.
    • OAuthFlow

      public OAuthFlow(OAuthFlow copyFrom)
      Copy constructor.
      Parameters:
      copyFrom - The object to copy.
  • Method Details

    • copy

      public OAuthFlow copy()
      Make a deep copy of this object.
      Returns:
      A deep copy of this object.
    • getAuthorizationUrl

      Bean property getter: operationRef.

      The identifying name of the contact person/organization.

      Returns:
      The property value, or null if it is not set.
    • setAuthorizationUrl

      Bean property setter: operationRef.

      The identifying name of the contact person/organization.

      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • getTokenUrl

      public String getTokenUrl()
      Bean property getter: description.

      The URL pointing to the contact information.

      Returns:
      The property value, or null if it is not set.
    • setTokenUrl

      public OAuthFlow setTokenUrl(String value)
      Bean property setter: description.
      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • getRefreshUrl

      Bean property getter: externalValue.

      The email address of the contact person/organization.

      Returns:
      The property value, or null if it is not set.
    • setRefreshUrl

      public OAuthFlow setRefreshUrl(String value)
      Bean property setter: externalValue.

      The email address of the contact person/organization.

      Parameters:
      value - The new value for this property.
      MUST be in the format of an email address.
      Can be null to unset the property.
      Returns:
      This object
    • getScopes

      Bean property getter: examples.

      An example of the response message.

      Returns:
      The property value, or null if it is not set.
    • setScopes

      public OAuthFlow setScopes(Map<String,String> value)
      Bean property setter: examples.

      An example of the response message.

      Parameters:
      value - The new value for this property.
      Keys must be MIME-type strings.
      Can be null to unset the property.
      Returns:
      This object
    • addScope

      public OAuthFlow addScope(String name, String description)
      Adds a single value to the examples property.
      Parameters:
      name - The mime-type string. Must not be null.
      description - The example. Must not be null.
      Returns:
      This object
    • get

      public <T> T get(String property, Class<T> type)
      Description copied from class: OpenApiElement
      Generic property getter.

      Can be used to retrieve non-standard Swagger fields such as "$ref".

      Overrides:
      get in class OpenApiElement
      Type Parameters:
      T - The datatype to cast the value to.
      Parameters:
      property - The property name to retrieve.
      type - The datatype to cast the value to.
      Returns:
      The property value, or null if the property does not exist or is not set.
    • set

      public OAuthFlow set(String property, Object value)
      Description copied from class: OpenApiElement
      Generic property setter.

      Can be used to set non-standard Swagger fields such as "$ref".

      Overrides:
      set in class OpenApiElement
      Parameters:
      property - The property name to set. Must not be null.
      value - The new value for the property.
      Returns:
      This object
    • keySet

      public Set<String> keySet()
      Description copied from class: OpenApiElement
      Returns all the keys on this element.
      Overrides:
      keySet in class OpenApiElement
      Returns:
      All the keys on this element.
      Never null.
    • strict

      public OAuthFlow strict()
      Description copied from class: OpenApiElement
      Sets strict mode on this bean.
      Overrides:
      strict in class OpenApiElement
      Returns:
      This object
    • strict

      public OAuthFlow strict(Object value)
      Description copied from class: OpenApiElement
      Sets strict mode on this bean.
      Overrides:
      strict in class OpenApiElement
      Parameters:
      value - The new value for this property.
      Non-boolean values will be converted to boolean using Boolean.valueOf(value.toString()).
      Can be null (interpreted as false).
      Returns:
      This object