Optio authenticates users through OAuth. When a user visits the web UI, they are redirected to an OAuth provider to log in. After a successful login, Optio creates a session that lasts 30 days. At least one OAuth provider must be configured before anyone can log in. The setup wizard walks through this on first install.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jonwiggins/optio/llms.txt
Use this file to discover all available pages before exploring further.
How providers are enabled
A provider becomes available on the login page as soon as both its client ID and client secret are set. You can enable multiple providers simultaneously — users can choose between them at login. Set credentials via Helm values or directly as environment variables:values.yaml
GitHub
Required scopes:read:user, user:email
Create a GitHub OAuth App
Go to github.com/settings/developers and click New OAuth App.
Configure the app
Set Authorization callback URL to:Replace
<your-api-host> with the value of API_PUBLIC_URL.openid, email, profile
Create an OAuth 2.0 client
Open the Google Cloud Console and navigate to APIs & Services > Credentials > Create Credentials > OAuth client ID. Choose Web application.
GitLab
Required scopes:read_user
Optio supports both GitLab.com and self-hosted GitLab instances.
Create a GitLab application
Go to your GitLab instance under User Settings > Applications and create a new application.
Sessions
After a successful OAuth login, Optio sets anoptio_session cookie in the user’s browser. Sessions are valid for 30 days. Cookies are HttpOnly and SameSite=Lax.
Users can log out at any time from the user menu, which revokes the session immediately.
Local development bypass
For local development, you can disable authentication entirely so you don’t need to configure OAuth providers:values.yaml
