id_token or call a userinfo endpoint. The OAuth connector provides flexibility to connect services like GitHub, Atlassian, and other platforms that support OAuth but not OpenID Connect..
Console terminology: In the Maverics Console, this section is called
Identity Fabric. The YAML configuration uses the
connectors key to define
identity provider integrations.Overview
The Generic OAuth connector targets authorization servers that expose OAuth 2.0 endpoints. It supports two configuration styles — discovery via awellKnownURL, or manually specified authorizeURL and tokenURL endpoints — and a non-standard “no client authentication” mode for federation flows where the upstream authenticates the request via a subject token instead of client credentials.
The connector can also obtain or assert its own client identity instead of using a pre-provisioned one, through Dynamic Client Registration or a Client ID Metadata Document. See Client Authentication Modes for how the options compare.
The wellKnownURL field accepts either an OAuth Authorization Server Metadata document or an OIDC discovery document (which is a superset of the OAuth metadata format). Either way, the connector reads only the OAuth endpoints from the discovery document — it does not perform OIDC end-user authentication.
For interactive end-user login against a full OpenID Connect IdP, use the Generic OIDC connector instead.
Use Cases
- Token brokering against OAuth-only authorization servers — Exchange Orchestrator-issued tokens for upstream tokens (RFC 8693 token exchange) against services like Databricks account-wide federation or GCP Workload Identity Federation, where the upstream exposes OAuth but no
id_tokenand no userinfo endpoint. - Machine-to-machine outbound calls — Authorize outbound calls from the Orchestrator where the upstream authenticates the request via a subject token rather than client credentials.
- OAuth-only authorization servers — Integrate with services like GitHub or Atlassian that provide OAuth 2.0 authorization but not full OIDC, when you need access tokens for API access rather than user identity.
- Federation without a pre-provisioned credential — Connect to an authorization server you cannot register a client with ahead of time. The Orchestrator either registers itself on startup (Dynamic Client Registration) or identifies itself by a URL it publishes (Client ID Metadata Document), so no client ID or secret has to be issued and rotated by hand.
Setup
- Console UI
- Configuration
To create a Generic OAuth connector in the Maverics Console:
- Navigate to Identity Fabric in the Console sidebar.
- Click Create and select Generic OAuth.
- Enter a Name for the connector — this is the friendly name that identifies your OAuth integration.
-
Provide endpoints either by:
- Entering the Well Known URL — either an OAuth Authorization Server Metadata URL (RFC 8414) or an OIDC discovery URL; or
- Entering the Authorization URL and Token URL manually.
- Enter the Client ID issued by the upstream authorization server. Leave this empty if you plan to use CIMD or DCR in step 9.
- Enter the Client Secret associated with the client ID. Use the show/hide toggle to verify the value. Leave this empty if you plan to use CIMD or DCR in step 9.
- Add one or more Redirect URLs — the URL(s) where the Orchestrator’s OAuth handler is served. At least one entry is required.
- Optionally enable Disable Client Authentication if the upstream authorization server authenticates the request via the subject token alone (for example, Databricks account-wide federation). See Disable Client Authentication below.
-
Optionally configure a credential-less mode in the CIMD / DCR section at the bottom of the drawer. Leave Client ID and Client Secret empty to use either one:
- For Client ID Metadata Document mode, enter the Client ID Metadata Document (CIMD) Metadata URL. This is the HTTPS URL the Orchestrator serves the document at, and the value it presents as its client ID.
- For Dynamic Client Registration, fill in the Dynamic Client Registration (DCR) sub-section: Client Name is the display name the authorization server records, and Token Endpoint Authentication Method is the authentication method to request.
- Click Save.
Client Authentication Modes
The connector authenticates to the upstream authorization server in one of four ways. Choose one — they are mutually exclusive.Configuring
dcr or cimd alongside clientID, clientSecret, disableClientAuthentication, or each other is rejected when the configuration loads. Both modes install their own client ID, so a connector configured for two of them would have one silently overwrite the other.Dynamic Client Registration
Dynamic Client Registration (RFC 7591) lets the Orchestrator create its own OAuth client at the upstream authorization server instead of using credentials you provision by hand. Add adcr block and omit clientID and clientSecret.
maverics.yaml
How registration works
DCR requireswellKnownURL. The Orchestrator reads the registration_endpoint from the discovery document, so it cannot be used with manually specified authorizeURL and tokenURL endpoints.
Registration runs once when the connector starts, as part of discovery. The Orchestrator sends a POST to the registration endpoint containing:
client_name— fromdcr.clientName.token_endpoint_auth_method— fromdcr.tokenEndpointAuthMethod, when set.grant_types—authorization_code.response_types—code.redirect_uris— the connector’sloginRedirect.urls.
client_id, client_secret, and token_endpoint_auth_method from it. A client_id is required — registration fails without one. If the response sets token_endpoint_auth_method to none or omits client_secret, the connector operates as a public client and sends no client credential on subsequent requests.
When
dcr is configured, a failure to load the discovery document is fatal — the connector does not start. Without dcr, the same failure is logged and startup continues.Client ID Metadata Document
Client ID Metadata Document (CIMD) mode, defined in draft-ietf-oauth-client-id-metadata-document, lets the connector identify itself by an HTTPS URL rather than a registered client ID. The Orchestrator serves a JSON metadata document at that URL and presents the same URL as its client ID in every authorization and token request. Nothing is registered with the authorization server in advance. A CIMD connector is a public client: PKCE protects the authorization code exchange in place of a client credential.This section covers the Orchestrator acting as a CIMD client toward an upstream authorization server. For the Orchestrator acting as an authorization server that accepts CIMD clients, see Client ID Metadata Documents.
maverics.yaml
The published document
The Orchestrator builds the metadata document from the connector’s own configuration — there are no separate fields to set. The example above publishes:
The document is served with a
Content-Type of application/json and Cache-Control: max-age=3600.
The Generic OAuth connector has no
offlineAccess setting. To publish the refresh_token grant, list offline_access in scopes directly, as in the example above.URL requirements
The Orchestrator registers a route from the host and path ofcimd.url, dropping the scheme, port, and any trailing slash. The Orchestrator must be reachable at that host and path from the authorization server, or the server cannot fetch the document.
cimd.url is validated when the configuration loads and must:
- Use the
httpsscheme. - Include a host and a path other than
/. - Omit any query string, fragment, or userinfo component.
- Omit dot-segments (
.and..). - Be entirely lowercase, in both host and path. The route is registered lowercased while the published client ID keeps the casing you configure, so a mixed-case URL would return 404 at the very address the document advertises.
Discovery
If the authorization server’s discovery document omitsclient_id_metadata_document_supported, the Orchestrator logs a message and proceeds anyway, since some servers accept CIMD clients without advertising support.
Disable Client Authentication
SettingdisableClientAuthentication: true is intended for federation flows where the upstream authorization server authenticates the request via the subject token alone — for example, Databricks account-wide federation. When enabled:
clientSecretmust be empty.clientIDbecomes optional, though some grants may still require it at runtime.- The Orchestrator enforces grant-type-level rules. For instance, the client-credentials and Resource Owner Password Credentials (ROPC) grants are rejected at runtime when client authentication is disabled, because those grants depend on client credentials to authenticate the request.
maverics.yaml
Troubleshooting
- Verify the
authorizeURLandtokenURLare accessible from the Orchestrator host — confirm both endpoints respond correctly. - If using
wellKnownURL, ensure the discovery document URL is correct and returns valid JSON withauthorization_endpointandtoken_endpointfields. - Ensure the
loginRedirectURLs match exactly what is registered with the upstream authorization server. - Check that the client secret reference resolves correctly via your secret provider — unless
disableClientAuthenticationistrue, in which caseclientSecretmust be empty. - If
disableClientAuthenticationistrue, confirm the grant type in use is supported — client-credentials and ROPC grants are rejected when client authentication is disabled. - Verify the requested
scopesare valid for the authorization server — invalid scopes may cause authorization failures. - If registration fails with a missing
registration_endpoint, the discovery document does not advertise one. That authorization server does not support Dynamic Client Registration; use static credentials or CIMD instead. - If the authorization server rejects a CIMD client as unknown, fetch
cimd.urlfrom outside your network and confirm it returns the metadata document rather than a 404. The usual cause is the Orchestrator not being routable at that host and path. - If the configuration fails to load with
'url' must be lowercase, lowercase the entirecimd.url, host and path alike. - If either credential-less mode is ignored entirely, check the Orchestrator version —
dcrandcimdrequire v2026.08.2 or later.
Related Pages
Identity Fabric
Overview of all identity providers
Token Brokering
RFC 8693 token exchange for downstream APIs
Generic OIDC
Generic OpenID Connect connector
Generic SAML
Generic SAML 2.0 connector
Client ID Metadata Documents
Accept CIMD clients as an OIDC Provider
Experimental Features
Caveats that apply to experimental features