Custom OIDC Provider
Claudio supports a custom OpenID Connect provider for self-hosted identity systems such as Authentik, Authelia, and Pocket ID.
Environment Variables
Section titled “Environment Variables”CLAUDIO_OIDC_SLUG=authentikCLAUDIO_OIDC_DISPLAY_NAME=AuthentikCLAUDIO_OIDC_LOGO_URL=https://auth.example.com/static/dist/assets/icons/icon.pngCLAUDIO_OIDC_DISCOVERY_URL=https://auth.example.com/application/o/claudio/.well-known/openid-configurationCLAUDIO_OIDC_CLIENT_ID=your_oidc_client_idCLAUDIO_OIDC_CLIENT_SECRET=your_oidc_client_secretCLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/authentik/callbackConfig File
Section titled “Config File”[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"Fields
Section titled “Fields”| Field | Required | Description |
|---|---|---|
slug | Yes | Stable provider identifier used in callback URLs |
display_name | Yes | Button label shown in the login UI |
logo_url | No | Image shown beside the provider button |
discovery_url | Yes | Full OIDC discovery document URL (must end in /.well-known/openid-configuration) |
client_id | Yes | OAuth client ID |
client_secret | Yes | OAuth client secret |
redirect_uri | Yes | Must match the provider-side callback exactly |
scope | No | Defaults to openid profile email |
user_id_claim | No | Defaults to sub |
username_claim | No | Defaults to preferred_username |
name_claim | No | Defaults to name |
email_claim | No | Defaults to email |
If your provider uses standard OIDC claim names, you can omit scope and the claim mapping fields.
Provider Examples
Section titled “Provider Examples”Authentik
Section titled “Authentik”CLAUDIO_OIDC_SLUG=authentikCLAUDIO_OIDC_DISPLAY_NAME=AuthentikCLAUDIO_OIDC_DISCOVERY_URL=https://auth.example.com/application/o/claudio/.well-known/openid-configurationCLAUDIO_OIDC_CLIENT_ID=your_client_idCLAUDIO_OIDC_CLIENT_SECRET=your_client_secretCLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/authentik/callbackAuthelia
Section titled “Authelia”CLAUDIO_OIDC_SLUG=autheliaCLAUDIO_OIDC_DISPLAY_NAME=AutheliaCLAUDIO_OIDC_DISCOVERY_URL=https://auth.example.com/.well-known/openid-configurationCLAUDIO_OIDC_CLIENT_ID=your_client_idCLAUDIO_OIDC_CLIENT_SECRET=your_client_secretCLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/authelia/callbackPocket ID
Section titled “Pocket ID”CLAUDIO_OIDC_SLUG=pocketidCLAUDIO_OIDC_DISPLAY_NAME="Pocket ID"CLAUDIO_OIDC_DISCOVERY_URL=https://pocketid.example.com/.well-known/openid-configurationCLAUDIO_OIDC_CLIENT_ID=your_client_idCLAUDIO_OIDC_CLIENT_SECRET=your_client_secretCLAUDIO_OIDC_REDIRECT_URI=https://claudio.example.com/api/auth/oidc/pocketid/callback