-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
Feature Request: Generic OAuth Provider Support
Is your feature request related to a problem? Please describe.
The sim Helm chart currently only supports Google and GitHub OAuth providers through built-in Better Auth integrations. Many organizations use other OAuth providers (Auth0, Okta, Keycloak, custom OIDC providers) and cannot configure them without modifying application code. This limits deployment flexibility and requires code changes for each new OAuth provider.
Describe the solution you'd like
Add generic OAuth provider support in the Helm chart, similar to how openwebui handles OAuth. This should:
-
Add environment variables for generic OAuth configuration:
OAUTH_CLIENT_ID- OAuth client IDOAUTH_CLIENT_SECRET- OAuth client secretOAUTH_AUTHORIZATION_URL- Authorization endpoint URL (e.g.,https://your-domain.auth0.com/authorize)OAUTH_TOKEN_URL- Token endpoint URL (e.g.,https://your-domain.auth0.com/oauth/token)OAUTH_USERINFO_URL- User info endpoint URL (e.g.,https://your-domain.auth0.com/userinfo)OAUTH_SCOPES- OAuth scopes (default:openid profile email)OAUTH_PROVIDER_ID- Provider identifier for Better Auth'sgenericOAuthplugin (e.g.,auth0,okta,custom)
-
Support both direct value configuration and Kubernetes secret references (like openwebui):
app: env: OAUTH_CLIENT_ID: "" # Direct value # OR via secret reference (to be implemented in templates)
-
Update
values.schema.jsonto include validation for these new OAuth environment variables. -
Update the application deployment templates to pass these environment variables to the pods.
This enables users to configure any OAuth 2.0/OIDC provider (Auth0, Okta, Keycloak, etc.) without code changes, using Better Auth's genericOAuth plugin.
Describe alternatives you've considered
-
Adding provider-specific configs (Auth0, Okta, etc.) - This approach doesn't scale well and would require chart updates for each new provider.
-
Hardcoding provider URLs in application code - This reduces flexibility and requires code changes for each deployment.
-
Using only built-in providers (Google/GitHub) - This doesn't meet enterprise requirements for custom identity providers.
Example configuration
app:
env:
OAUTH_CLIENT_ID: "your-oauth-client-id-here"
OAUTH_CLIENT_SECRET: "your-oauth-client-secret-here"
OAUTH_AUTHORIZATION_URL: "https://your-domain.auth0.com/authorize"
OAUTH_TOKEN_URL: "https://your-domain.auth0.com/oauth/token"
OAUTH_USERINFO_URL: "https://your-domain.auth0.com/userinfo"
OAUTH_SCOPES: "openid profile email"
OAUTH_PROVIDER_ID: "auth0"