Skip to content

Conversation

kprinssu
Copy link
Contributor

This PR contains changes in order to add a generalised OAuth client.

Please note that I am aware this feature is behind a pay-wall and I absolutely respect the Tabby team's decision to keep this behind a pay-wall. I want to emphasise this is a POC and my intent here was to quickly learn Rust and to give back to Tabby.

The benefit of having a generalised OAuth client is that end users can integrate with 3rd party identity providers (such as Auth0, Okta, Authentik, etc.). This is achieved by using OpenID Connect Discovery which contains the endpoints required to:

  • generate and start an authorization code flow
  • validate and get access tokens
  • grab user info

On the backend, I am introducing a new migration to add a config_url to the oauth_credential table. This column is a varchar(256) and should accomodate most identity provider's Connect Discovery endpoints,

I also changed the frontend here and here screenshots and explanations as to how the UX looks like:

Existing OAuth Integrations will not display the new Config URL text field
Screenshot 2025-07-18 at 18 55 12

New Radio Button to show the General OAuth Configs:
Screenshot 2025-07-18 at 18 55 17

View the show page for a created General OAuth Configs:
Screenshot 2025-07-18 at 18 58 30

SSO Sign In Page:
Screenshot 2025-07-18 at 19 01 05

Please also note this branch contains changes from #4323 and I am hoping to merge the upstream PR before merging this one in.

@wsxiaoys wsxiaoys requested a review from zwpaper July 19, 2025 02:54
Copy link
Contributor

autofix-ci bot commented Jul 19, 2025

Hi! I'm autofix logoautofix.ci, a bot that automatically fixes trivial issues such as code formatting in pull requests.

I would like to apply some automated changes to this pull request, but it looks like I don't have the necessary permissions to do so. To get this pull request into a mergeable state, please do one of the following two things:

  1. Allow edits by maintainers for your pull request, and then re-trigger CI (for example by pushing a new commit).
  2. Manually fix the issues identified for your pull request (see the GitHub Actions output for details on what I would like to change).

@IamTaoChen
Copy link

Maybe, name it as OIDC

@kprinssu
Copy link
Contributor Author

Maybe, name it as OIDC

I appreciate the feedback, however, I am going to wait for the Tabby maintainers to leave some feedback before I make any further changes.

@kprinssu kprinssu force-pushed the feature/3rd-party-oauth branch from 2240338 to 59c9608 Compare September 16, 2025 14:21
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.

4 participants