Skip to content

Custom OIDC Provider

Claudio supports a custom OpenID Connect provider for self-hosted identity systems such as Authentik, Authelia, and Pocket ID.

Terminal window
CLAUDIO_OIDC_SLUG=authentik
CLAUDIO_OIDC_DISPLAY_NAME=Authentik
CLAUDIO_OIDC_LOGO_URL=https://auth.example.com/static/dist/assets/icons/icon.png
CLAUDIO_OIDC_DISCOVERY_URL=https://auth.example.com/application/o/claudio/.well-known/openid-configuration
CLAUDIO_OIDC_CLIENT_ID=your_oidc_client_id
CLAUDIO_OIDC_CLIENT_SECRET=your_oidc_client_secret
CLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/authentik/callback
[auth.oidc_provider]
slug = "authentik"
display_name = "Authentik"
logo_url = "https://auth.example.com/static/dist/assets/icons/icon.png"
discovery_url = "https://auth.example.com/application/o/claudio/.well-known/openid-configuration"
client_id = "your_oidc_client_id"
client_secret = "your_oidc_client_secret"
redirect_uri = "https://claudio.example.com/api/auth/oidc/authentik/callback"
FieldRequiredDescription
slugYesStable provider identifier used in callback URLs
display_nameYesButton label shown in the login UI
logo_urlNoImage shown beside the provider button
discovery_urlYesFull OIDC discovery document URL (must end in /.well-known/openid-configuration)
client_idYesOAuth client ID
client_secretYesOAuth client secret
redirect_uriYesMust match the provider-side callback exactly
scopeNoDefaults to openid profile email
user_id_claimNoDefaults to sub
username_claimNoDefaults to preferred_username
name_claimNoDefaults to name
email_claimNoDefaults to email

If your provider uses standard OIDC claim names, you can omit scope and the claim mapping fields.

Terminal window
CLAUDIO_OIDC_SLUG=authentik
CLAUDIO_OIDC_DISPLAY_NAME=Authentik
CLAUDIO_OIDC_DISCOVERY_URL=https://auth.example.com/application/o/claudio/.well-known/openid-configuration
CLAUDIO_OIDC_CLIENT_ID=your_client_id
CLAUDIO_OIDC_CLIENT_SECRET=your_client_secret
CLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/authentik/callback
Terminal window
CLAUDIO_OIDC_SLUG=authelia
CLAUDIO_OIDC_DISPLAY_NAME=Authelia
CLAUDIO_OIDC_DISCOVERY_URL=https://auth.example.com/.well-known/openid-configuration
CLAUDIO_OIDC_CLIENT_ID=your_client_id
CLAUDIO_OIDC_CLIENT_SECRET=your_client_secret
CLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/authelia/callback
Terminal window
CLAUDIO_OIDC_SLUG=pocketid
CLAUDIO_OIDC_DISPLAY_NAME="Pocket ID"
CLAUDIO_OIDC_DISCOVERY_URL=https://pocketid.example.com/.well-known/openid-configuration
CLAUDIO_OIDC_CLIENT_ID=your_client_id
CLAUDIO_OIDC_CLIENT_SECRET=your_client_secret
CLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/pocketid/callback