Skip to main content

OAuthAuthenticator

Authenticator for requests using OAuth 2.0 authorization flow.

  • type: object
  • required: ["type"]

type​

  • Required: Yes
  • type: string
  • enum: ["OAuthAuthenticator"]

client_id_name​

The name of the property to use to refresh the access_token.

  • Required: No
  • type: string
  • default: client_id

Examples:

custom_app_id

client_id​

The OAuth client ID. Fill it in the user inputs.

  • Required: No
  • type: string
  • Available variables: config

Examples:

{{ config['client_id'] }}
{{ config['credentials']['client_id }}

client_secret_name​

The name of the property to use to refresh the access_token.

  • Required: No
  • type: string
  • default: client_secret

Examples:

custom_app_secret

client_secret​

The OAuth client secret. Fill it in the user inputs.

  • Required: No
  • type: string
  • Available variables: config

Examples:

{{ config['client_secret'] }}
{{ config['credentials']['client_secret }}

refresh_token_name​

The name of the property to use to refresh the access_token.

  • Required: No
  • type: string
  • default: refresh_token

Examples:

custom_app_refresh_value

refresh_token​

Credential artifact used to get a new access token.

  • Required: No
  • type: string
  • Available variables: config

Examples:

{{ config['refresh_token'] }}
{{ config['credentials]['refresh_token'] }}

token_refresh_endpoint​

The full URL to call to obtain a new access token.

  • Required: No
  • type: string

Examples:

https://connect.squareup.com/oauth2/token

access_token_name​

The name of the property which contains the access token in the response from the token refresh endpoint.

  • Required: No
  • type: string
  • default: access_token

Examples:

access_token

access_token_value​

The value of the access_token to bypass the token refreshing using refresh_token.

  • Required: No
  • type: string
  • Available variables: config

Examples:

secret_access_token_value

expires_in_name​

The name of the property which contains the expiry date in the response from the token refresh endpoint.

  • Required: No
  • type: string
  • default: expires_in

Examples:

expires_in

grant_type_name​

The name of the property to use to refresh the access_token.

  • Required: No
  • type: string
  • default: grant_type

Examples:

custom_grant_type

grant_type​

Specifies the OAuth2 grant type. If set to refresh_token, the refresh_token needs to be provided as well. For client_credentials, only client id and secret are required. Other grant types are not officially supported.

  • Required: No
  • type: string
  • default: refresh_token

Examples:

refresh_token
client_credentials

refresh_request_body​

Body of the request sent to get a new access token.

  • Required: No
  • type: object

Examples:

applicationId: '{{ config[''application_id''] }}'
applicationSecret: '{{ config[''application_secret''] }}'
token: '{{ config[''token''] }}'

refresh_request_headers​

Headers of the request sent to get a new access token.

  • Required: No
  • type: object

Examples:

Authorization: <AUTH_TOKEN>
Content-Type: application/x-www-form-urlencoded

send_refresh_request_as_query_params​

When set to true, the standard OAuth refresh args (grant_type, refresh_token, client credentials when not in an Authorization header, scopes, plus any refresh_request_body extras) are sent on the URL query string and the request body is emitted empty. Use this for OAuth providers like Gong that document their refresh endpoint with refresh args on the URL query string.

  • Required: No
  • type: boolean
  • default: false

Examples:

true

scopes​

List of scopes that should be granted to the access token.

  • Required: No
  • type: array

Examples:

- crm.list.read
- crm.objects.contacts.read
- crm.schema.contacts.read
  • items:

    • type: string

token_expiry_date​

The access token expiry date.

  • Required: No
  • type: string

Examples:

2023-04-06T07:12:10.421Z
1680842386

token_expiry_date_format​

The format of the time to expiration datetime. Provide it if the time is returned as a date-time string instead of seconds.

  • Required: No
  • type: string

Examples:

%Y-%m-%d %H:%M:%S.%f+00:00

refresh_token_error_status_codes​

Status Codes to Identify refresh token error in response (Refresh Token Error Key and Refresh Token Error Values should be also specified). Responses with one of the error status code and containing an error value will be flagged as a config error

  • Required: No
  • type: array

Examples:

- 400
- 500
  • items:

    • type: integer

refresh_token_error_key​

Key to Identify refresh token error in response (Refresh Token Error Status Codes and Refresh Token Error Values should be also specified).

  • Required: No
  • type: string

Examples:

error

refresh_token_error_values​

List of values to check for exception during token refresh process. Used to check if the error found in the response matches the key from the Refresh Token Error Key field (e.g. response={"error": "invalid_grant"}). Only responses with one of the error status code and containing an error value will be flagged as a config error

  • Required: No
  • type: array

Examples:

- invalid_grant
- invalid_permissions
  • items:

    • type: string

refresh_token_error_messages​

Fixed user-facing messages for refresh token errors. Keys are matched in order against the provider error code leading error_description (a token such as ABC12345 followed by a word boundary), the whitespace-normalized full error_description, then the OAuth error value; the first match replaces the default re-authentication guidance, and the provider error detail is still appended. Only applies to responses already flagged as config errors by Refresh Token Error Status Codes, Refresh Token Error Key and Refresh Token Error Values (or their defaults); it does not flag any additional responses. Values are used verbatim, without interpolation, so the message is identical on every attempt.

  • Required: No
  • type: object

Examples:

invalid_grant: The refresh token expired or was revoked. Re-authenticate this source to restore syncs.
  • additionalProperties:

    • type: string

refresh_token_updater​

When the refresh token updater is defined, new refresh tokens, access tokens and the access token expiry date are written back from the authentication response to the config object. This is important if the refresh token can only used once.

  • Required: No

  • refresh_token_name

    The name of the property which contains the updated refresh token in the response from the token refresh endpoint.

    • Required: No
    • type: string
    • default: refresh_token

    Examples:

    refresh_token
  • access_token_config_path

    Config path to the access token. Make sure the field actually exists in the config.

    • Required: No
    • type: array
    • default: ["credentials","access_token"]

    Examples:

    - credentials
    - access_token
    - access_token
    • items:

      • type: string
  • refresh_token_config_path

    Config path to the access token. Make sure the field actually exists in the config.

    • Required: No
    • type: array
    • default: ["credentials","refresh_token"]

    Examples:

    - credentials
    - refresh_token
    - refresh_token
    • items:

      • type: string
  • token_expiry_date_config_path

    Config path to the expiry date. Make sure actually exists in the config.

    • Required: No
    • type: array
    • default: ["credentials","token_expiry_date"]

    Examples:

    - credentials
    - token_expiry_date
    • items:

      • type: string
  • refresh_token_error_status_codes

    Status Codes to Identify refresh token error in response (Refresh Token Error Key and Refresh Token Error Values should be also specified). Responses with one of the error status code and containing an error value will be flagged as a config error

    • Required: No
    • type: array
    • default: []

    Examples:

    - 400
    - 500
    • items:

      • type: integer
  • refresh_token_error_key

    Key to Identify refresh token error in response (Refresh Token Error Status Codes and Refresh Token Error Values should be also specified).

    • Required: No
    • type: string
    • default: ``

    Examples:

    error
  • refresh_token_error_values

    List of values to check for exception during token refresh process. Used to check if the error found in the response matches the key from the Refresh Token Error Key field (e.g. response={"error": "invalid_grant"}). Only responses with one of the error status code and containing an error value will be flagged as a config error

    • Required: No
    • type: array
    • default: []

    Examples:

    - invalid_grant
    - invalid_permissions
    • items:

      • type: string

profile_assertion​

The authenticator being used to authenticate the client authenticator.

use_profile_assertion​

Enable using profile assertion as a flow for OAuth authorization.

  • Required: No
  • type: boolean
  • default: false

$parameters​

  • Required: No
  • type: object