Sari la conținutul principal

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.

Documentație asociată