Skip to content

feat: add support for using OAuth 2.0 integrations with data connectors#1201

Draft
leafty wants to merge 3 commits intomainfrom
leafty/build-oauth-data-connectors
Draft

feat: add support for using OAuth 2.0 integrations with data connectors#1201
leafty wants to merge 3 commits intomainfrom
leafty/build-oauth-data-connectors

Conversation

@leafty
Copy link
Member

@leafty leafty commented Feb 2, 2026

Details:
* Rename `drive` -> `google`: do not use the storage service name, use the platform name.
* Remove `onedrive`: not in use at the moment (unfinished code)

Note that the enum lists have been re-ordered alphabetically (sort lines ascending in vscode).
@leafty leafty force-pushed the leafty/build-oauth-data-connectors branch from a386820 to 58a15d9 Compare February 2, 2026 07:55
…tials (#1195)

Details:
* Add DataSourceRepository class to handle OAuth 2.0 credentials when mounting data connectors of type `drive` and `dropbox`.
*  When a session start is requested, insert `token` and `token_url` into the `rclone` configuration.
* When a session resume is requested, read the `rclone` configuration from k8s secrets and update the `token` and `token_url` fields.
* Add methods to read k8s secrets (create, patch, delete already exist).
* Add a `POST /oauth2/connections/<connection_id:ulid>/token_endpoint` endpoint: it conforms to [RFC 6749 - Section 6: Refreshing an Access Token](https://datatracker.ietf.org/doc/html/rfc6749#section-6). This is what is used as the `token_url` in the `rclone` configurations. This means that data services handles OAuth 2.0 token refreshes which is critical for platforms which issue single-use refresh tokens.
Update the "testing" endpoint to allow users to test the rclone connection with storage type "google" and "dropbox" which use OAuth 2.0 credentials.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant