Module org.eclipse.microprofile.openapi
Package org.eclipse.microprofile.openapi.models.security

## Interface OAuthFlow

All Superinterfaces:
  `Constructible`, `Extensible<OAuthFlow>`

    public interface OAuthFlow
    extends Constructible, Extensible<OAuthFlow>

Configuration details for a supportde OAuthFlow

See Also:
  OpenAPI Specification OAuth Flow Object

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`OAuthFlow` `addScope​(String scope, String description)` Adds name of an existing scope object and item parameters to scopes as a key-value pair in a map.
`default OAuthFlow` `authorizationUrl​(String authorizationUrl)` The authorization URL to be used for this flow.
`String` `getAuthorizationUrl()` The authorization URL to be used for this flow.
`String` `getRefreshUrl()` The URL to be used for obtaining refresh tokens.
`Map<String,​String>` `getScopes()` The available scopes for the OAuth2 security scheme.
`String` `getTokenUrl()` The token URL to be used for this flow.
`default OAuthFlow` `refreshUrl​(String refreshUrl)` The URL to be used for obtaining refresh tokens.
`void` `removeScope​(String scope)` Removes the given scope item to this scope mapping.
`default OAuthFlow` `scopes​(Map<String,​String> scopes)` The available scopes for the OAuth2 security scheme.
`void` `setAuthorizationUrl​(String authorizationUrl)` The authorization URL to be used for this flow.
`void` `setRefreshUrl​(String refreshUrl)` The URL to be used for obtaining refresh tokens.
`void` `setScopes​(Map<String,​String> scopes)` The available scopes for the OAuth2 security scheme.
`void` `setTokenUrl​(String tokenUrl)` The token URL to be used for this flow.
`default OAuthFlow` `tokenUrl​(String tokenUrl)` The token URL to be used for this flow.

### Methods inherited from interface org.eclipse.microprofile.openapi.models.Extensible

`addExtension, extensions, getExtensions, removeExtension, setExtensions`

### Method Detail

#### getAuthorizationUrl

    String getAuthorizationUrl()

The authorization URL to be used for this flow. This MUST be in the form of a URL. This is a REQUIRED property.

This method returns the authorizationUrl property from OAuthFlow instance.

Returns:
  String authorizationUrl

#### setAuthorizationUrl

    void setAuthorizationUrl​(String authorizationUrl)

The authorization URL to be used for this flow. This MUST be in the form of a URL. This is a REQUIRED property.

Applies to oauth2 ("implicit", "authorizationCode").

This method sets the authorizationUrl property of an OAuthFlow instance to the given authorizationUrl argument.

Parameters:
  `authorizationUrl` - the authorization URL used for this flow

#### authorizationUrl

    default OAuthFlow authorizationUrl​(String authorizationUrl)

The authorization URL to be used for this flow. This MUST be in the form of a URL. This is a REQUIRED property.

Applies to oauth2 ("implicit", "authorizationCode").

This method sets the authorizationUrl property of OAuthFlow instance to the given authorizationUrl argument and returns the modified instance.

Parameters:
  `authorizationUrl` - the authorization URL used for this flow
Returns:
  OAuthFlow instance with the set authorizationUrl property

#### getTokenUrl

    String getTokenUrl()

The token URL to be used for this flow. This MUST be in the form of a URL. This is a REQUIRED property.

This method returns the tokenUrl property from OAuthFlow instance.

Returns:
  String tokenUrl

#### setTokenUrl

    void setTokenUrl​(String tokenUrl)

The token URL to be used for this flow. This MUST be in the form of a URL. This is a REQUIRED property.

Applies to oauth2 ("password", "clientCredentials", "authorizationCode").

This method sets the tokenUrl property of OAuthFlow instance to the given tokenUrl argument.

Parameters:
  `tokenUrl` - the token URL to be used for this flow

#### tokenUrl

    default OAuthFlow tokenUrl​(String tokenUrl)

The token URL to be used for this flow. This MUST be in the form of a URL. This is a REQUIRED property.

Applies to oauth2 ("password", "clientCredentials", "authorizationCode").

This method sets the tokenUrl property of OAuthFlow instance to the given tokenUrl argument and returns the instance.

Parameters:
  `tokenUrl` - the token URL to be used for this flow
Returns:
  OAuthFlow instance with the set tokenUrl property

#### getRefreshUrl

    String getRefreshUrl()

The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.

This method returns the refreshUrl property from OAuthFlow instance.

Returns:
  String refreshUrl

#### setRefreshUrl

    void setRefreshUrl​(String refreshUrl)

The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.

Applies to oauth2.

This method sets the refreshUrl property of OAuthFlow instance to the given refreshUrl argument.

Parameters:
  `refreshUrl` - the URL to be used for obtaining refresh tokens

#### refreshUrl

    default OAuthFlow refreshUrl​(String refreshUrl)

The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.

Applies to oauth2.

This method sets the refreshUrl property of OAuthFlow instance to the given refreshUrl argument and returns the modified instance.

Parameters:
  `refreshUrl` - the URL to be used for obtaining refresh tokens
Returns:
  OAuthFlow instance with the set refreshUrl property

#### addScope

    OAuthFlow addScope​(String scope,
                       String description)

Adds name of an existing scope object and item parameters to scopes as a key-value pair in a map.

Parameters:
  `scope` - the name of a scope
  `description` - description of the scope.
Returns:
  the current OAuthFlow instance

#### removeScope

    void removeScope​(String scope)

Removes the given scope item to this scope mapping.

Parameters:
  `scope` - the name of a scope

#### setScopes

    void setScopes​(Map<String,​String> scopes)

The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. This is a REQUIRED property.

Applies to oauth2.

This method sets the scopes property of OAuthFlow instance to the given argument.

Parameters:
  `scopes` - the available scopes for the OAuth2 security scheme

#### scopes

    default OAuthFlow scopes​(Map<String,​String> scopes)

The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. This is a REQUIRED property.

Applies to oauth2.

This method sets the scopes property of OAuthFlow instance to the given argument and returns the modified instance.

Parameters:
  `scopes` - the available scopes for the OAuth2 security scheme
Returns:
  OAuthFlow instance with the set scopes property

#### getScopes

    Map<String,​String> getScopes()

The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. This is a REQUIRED property.

This method returns the scopes property from OAuthFlow instance.

Returns:
  a copy Map (potentially immutable) containing scopes and their descriptions