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
- type:
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
- type:
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
- type:
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
- type:
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
-
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 -
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
- type:
-
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
- type:
-
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
- type:
-
refresh_token_error_status_codesStatus 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
- type:
-
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 -
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
- type:
profile_assertion
The authenticator being used to authenticate the client authenticator.
- Required: No
- Allowed type:
JwtAuthenticator
use_profile_assertion
Enable using profile assertion as a flow for OAuth authorization.
- Required: No
- type:
boolean - default:
false
$parameters
- Required: No
- type:
object