Skip to content

add OAuth 2.0 support to Delta Sharing connector - #58

Open
slimbnsalah wants to merge 2 commits into
fivetran:mainfrom
slimbnsalah:add-oauth-delta-sharing
Open

add OAuth 2.0 support to Delta Sharing connector#58
slimbnsalah wants to merge 2 commits into
fivetran:mainfrom
slimbnsalah:add-oauth-delta-sharing

Conversation

@slimbnsalah

Copy link
Copy Markdown

Description of Change

Adds OAuth 2.0 client-credentials authentication as a second option to the existing bearer-token auth for the Delta Sharing connector. Using the same single configuration.json file, you'll be able to specify whether to use bearer or oauth.

Testing

Created a share with an OAuth recipient and made initial sync.

Checklist

Some tips and links to help validate your PR:

  • Tested the connector with fivetran debug command.
  • Added/Updated example-specific README.md file, see the README template for the required structure and guidelines.
  • Followed Python Coding Standards, refer here

Copilot AI lite review requested due to automatic review settings August 5, 2026 10:13
@cla-assistant

cla-assistant Bot commented Aug 5, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds OAuth 2.0 client-credentials authentication as an alternative to bearer-token auth for the delta_sharing connector, updating the connector logic and docs so users can choose an auth method via auth_type.

Changes:

  • Added OAuth client-credentials token fetching + caching and wired it into the connector’s raw HTTP calls.
  • Updated README to document bearer-token vs OAuth configuration and behavior.
  • Updated configuration.json to include the new auth selector and OAuth-related fields.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
delta_sharing/connector.py Adds OAuth token acquisition/caching and switches version lookups to use a token getter.
delta_sharing/README.md Documents the new auth_type and OAuth client-credentials configuration/usage.
delta_sharing/configuration.json Adds auth_type and OAuth configuration keys to the example configuration.
Suppressed comments (1)

delta_sharing/README.md:98

  • This README uses bold text for emphasis (for example **activation link** / **recipient**). The doc guidelines for connector example READMEs prohibit bold text unless it's a UI element name; please switch these to plain text.
1. The data provider shares a dataset with you as a **recipient** in their Delta Sharing platform (e.g. Databricks Unity Catalog).
2. They send you an **activation link** — a one-time URL that, when opened, downloads a **profile file** (`.share` or `.json`).
3. The profile file contains:

Comment thread delta_sharing/configuration.json Outdated
Comment thread delta_sharing/connector.py
Comment thread delta_sharing/README.md Outdated
Comment thread delta_sharing/README.md Outdated

@fivetran-sahilkhirwal fivetran-sahilkhirwal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes look good
One minor comment and few copilot comments are added
Please sign the CLA

Comment thread delta_sharing/configuration.json Outdated
Comment thread delta_sharing/connector.py
Copilot AI review requested due to automatic review settings August 13, 2026 19:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (4)

delta_sharing/README.md:59

  • The "Configuration file" section should include the standard note reminding users not to check configuration.json into version control, since it can contain secrets (for example client_secret).
    delta_sharing/configuration.json:3
  • configuration.json requires placeholder values in angle brackets; auth_type is currently a literal string (and combines two options with "OR"), which violates the repo configuration template rules and is not a valid value for the connector as written.
  "auth_type": "bearer_token_OR_oauth_client_credentials",

delta_sharing/connector.py:78

  • For OAuth auth, token_endpoint is required but not validated for URL shape (http/https). A malformed value will fail later inside requests.post() with a less actionable error; validate it here similar to endpoint.
    else:
        required = ("token_endpoint", "client_id", "client_secret")
        missing = [key for key in required if not configuration.get(key)]
        if missing:
            raise ValueError(

delta_sharing/README.md:71

  • Per the repo README style rules, headings below the H1 should be sentence case. "Requirements File" should be "Requirements file".
## Requirements File

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants