OAuth Client Credentials Authentication with Escape
Description
The 'OAuth Client Credentials' preset is tailored for authentication using the OAuth 2.0 client credentials grant, ideal for service accounts:
- OAuth Token Endpoint: Directs authentication requests to the token endpoint of an OpenID Connect server.
- Service Account Credentials: Utilizes client IDs and secrets to authenticate, representing service accounts rather than individual end-users.
- Token Generation: Designed to obtain access tokens for service accounts without the need for a user's password.
This preset is particularly effective for scenarios where applications or services themselves need to authenticate, independent of a user's direct involvement.
Examples
presets:
- type: oauth_client_credentials
url: https://oauth.example.com/token
users:
- username: serviceAccount1
client_id: serviceClientID1
client_secret: serviceSecret1
- username: serviceAccount2
client_id: serviceClientID2
client_secret: serviceSecret2
scopes:
- create
- delete
Extensive Configuration
Property | Type | Required | Description | Reference |
---|---|---|---|---|
type | Const[oauth_client_credentials] | True | ||
users | OAuthClientCredentialsUserPreset | True | A list of users to create | OAuthClientCredentialsUserPreset |
url | string | True | The URL of the token endpoint of the OpenIDConnect server |
Objects
OAuthClientCredentialsUserPreset
Property | Type | Required | Description | Reference |
---|---|---|---|---|
username | string | True | The arbitrary username given to the user. | |
headers | Dict[string, string] | False | Optional headers injected during the authentication process and in authentified requests. | |
cookies | Dict[string, string] | False | Optional cookies injected during the authentication process and in authentified requests. | |
client_id | string | True | The client ID to use for the OAuth requests | |
client_secret | string | True | The client secret to use for the OAuth requests | |
scopes | string | False | A list of scopes to request for the user. If not specified, no scope will be requested. |