Autentificare unică
Libre WebUI acceptă autentificarea OAuth cu GitHub și Hugging Face, precum și orice furnizor OpenID Connect prin integrarea OIDC generică. Utilizatorii OAuth sunt stocați ca utilizatori locali Libre WebUI și primesc implicit rolul user. OIDC poate asocia opțional roluri și grupuri pe baza claims.
GitHub OAuth
Creați o aplicație OAuth în GitHub Developer Settings.
URL de callback local:
http://localhost:3001/api/auth/oauth/github/callback
Callback pentru producție:
https://your-domain.example/api/auth/oauth/github/callback
Fișierul .env al backend-ului:
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
GITHUB_CALLBACK_URL=https://your-domain.example/api/auth/oauth/github/callback
GitHub OAuth solicită scope-ul user:email. Numele utilizatorilor noi au prefixul gh_.
Hugging Face OAuth
Creați o aplicație OAuth în setările Hugging Face.
URL de callback local:
http://localhost:3001/api/auth/oauth/huggingface/callback
Callback pentru producție:
https://your-domain.example/api/auth/oauth/huggingface/callback
Fișierul .env al backend-ului:
HUGGINGFACE_CLIENT_ID=...
HUGGINGFACE_CLIENT_SECRET=...
HUGGINGFACE_CALLBACK_URL=https://your-domain.example/api/auth/oauth/huggingface/callback
Numele utilizatorilor noi au prefixul hf_.
OIDC generic
Funcționează cu orice furnizor care publică un document de discovery OpenID Connect, precum Keycloak, Authentik, Authelia, Okta, Entra ID și Google Workspace. Fluxul folosește PKCE (S256), state CSRF și un nonce validat în tokenul ID semnat; cheile sunt preluate din JWKS.
Înregistrați un client confidențial cu:
https://your-domain.example/api/auth/oauth/oidc/callback
Fișierul .env al backend-ului:
OIDC_ISSUER_URL=https://id.example.com/realms/main
OIDC_CLIENT_ID=libre-webui
OIDC_CLIENT_SECRET=...
OIDC_DISPLAY_NAME=Example SSO
Politici opționale:
# Require a verified email in one of these domains
OIDC_ALLOWED_EMAIL_DOMAINS=example.com,example.org
# Grant/remove the admin role based on a group claim on every login
OIDC_GROUP_CLAIM=groups
OIDC_ADMIN_GROUPS=libre-admins
# Reconcile Libre group memberships with the group claim on every login
OIDC_SYNC_GROUPS=true
Identitățile sunt legate prin claim-ul stabil sub, astfel încât schimbarea numelui la furnizor păstrează contul Libre. Utilizatorii noi primesc prefixul oidc_ când înscrierea este permisă. O adresă de e-mail care aparține unui cont local existent, dar nelegat, este respinsă în loc să fie combinată implicit. Cu OIDC_SYNC_GROUPS=true, claims controlează apartenența la grupurile Libre cu același nume; creați-le mai întâi în fila User Management din Settings.
Setări comune
Configurați URL-ul public al backend-ului:
BASE_URL=https://your-domain.example
CORS_ORIGIN=https://your-domain.example
Dacă URL-urile callback nu sunt definite, sunt construite din BASE_URL.
Limitări
Libre WebUI nu oferă în prezent SAML sau provisioning SCIM. Lista de domenii permise și asocierea rolurilor/grupurilor există numai în OIDC generic. Utilizatorii GitHub și Hugging Face sunt creați întotdeauna ca user și se administrează din interfața de administrare.
Depanare
Butonul OAuth nu face nimic. Verificați client ID, secretul și reporniți backend-ul.
Furnizorul respinge callback-ul. URL-ul înregistrat la furnizor trebuie să corespundă exact.
Utilizatorul are drepturi obișnuite. Utilizatorii OAuth sunt creați ca user; promovați-i din interfața de administrare.