Ενιαία σύνδεση
Το Libre WebUI υποστηρίζει OAuth login με GitHub και Hugging Face και κάθε πάροχο OpenID Connect μέσω της γενικής ενσωμάτωσης OIDC. Οι χρήστες OAuth αποθηκεύονται ως τοπικοί χρήστες Libre WebUI και λαμβάνουν ρόλο user από προεπιλογή. Το OIDC μπορεί προαιρετικά να αντιστοιχίσει ρόλους και ομάδες από claims.
GitHub OAuth
Δημιουργήστε εφαρμογή OAuth στο GitHub Developer Settings.
Τοπικό callback URL:
http://localhost:3001/api/auth/oauth/github/callback
Callback παραγωγής:
https://your-domain.example/api/auth/oauth/github/callback
.env backend:
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
GITHUB_CALLBACK_URL=https://your-domain.example/api/auth/oauth/github/callback
Το GitHub OAuth ζητά scope user:email. Νέα usernames έχουν prefix gh_.
Hugging Face OAuth
Δημιουργήστε εφαρμογή OAuth στις ρυθμίσεις Hugging Face.
Τοπικό callback URL:
http://localhost:3001/api/auth/oauth/huggingface/callback
Callback παραγωγής:
https://your-domain.example/api/auth/oauth/huggingface/callback
.env backend:
HUGGINGFACE_CLIENT_ID=...
HUGGINGFACE_CLIENT_SECRET=...
HUGGINGFACE_CALLBACK_URL=https://your-domain.example/api/auth/oauth/huggingface/callback
Νέα usernames έχουν prefix hf_.
Γενικό OIDC
Λειτουργεί κάθε πάροχος με discovery document OpenID Connect, όπως Keycloak, Authentik, Authelia, Okta, Entra ID και Google Workspace. Η ροή χρησιμοποιεί PKCE (S256), CSRF state και nonce που επικυρώνεται μέσα στο υπογεγραμμένο ID token· τα κλειδιά λαμβάνονται από JWKS.
Καταχωρίστε confidential client με:
https://your-domain.example/api/auth/oauth/oidc/callback
.env backend:
OIDC_ISSUER_URL=https://id.example.com/realms/main
OIDC_CLIENT_ID=libre-webui
OIDC_CLIENT_SECRET=...
OIDC_DISPLAY_NAME=Example SSO
Προαιρετικές πολιτικές:
# 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
Οι ταυτότητες συνδέονται με το σταθερό claim sub, οπότε αλλαγή ονόματος παρόχου κρατά τον λογαριασμό Libre. Νέοι χρήστες λαμβάνουν prefix oidc_ όταν επιτρέπεται εγγραφή. Email υπάρχοντος ασύνδετου τοπικού λογαριασμού απορρίπτεται αντί να συγχωνευθεί σιωπηρά. Με OIDC_SYNC_GROUPS=true, claims ελέγχουν συμμετοχή σε ομάδες Libre με ίδιο όνομα· δημιουργήστε τις πρώτα στην καρτέλα User Management στις Settings.
Κοινές ρυθμίσεις
Ορίστε δημόσιο URL backend:
BASE_URL=https://your-domain.example
CORS_ORIGIN=https://your-domain.example
Αν callback URLs δεν οριστούν, δημιουργούνται από BASE_URL.
Περιορισμοί
Το Libre WebUI δεν προσφέρει σήμερα SAML ή provisioning SCIM. Allowlist domain και mapping ρόλων/ομάδων υπάρχουν μόνο στο γενικό OIDC. Χρήστες GitHub και Hugging Face δημιουργούνται πάντα ως user και διαχειρίζονται από το admin UI.
Αντιμετώπιση προβλημάτων
Το κουμπί OAuth δεν κάνει τίποτα Ελέγξτε client ID, secret και restart backend.
Ο πάροχος απορρίπτει callback Το URL στον πάροχο πρέπει να ταιριάζει ακριβώς.
Ο χρήστης έχει κανονικά δικαιώματα Οι χρήστες OAuth δημιουργούνται ως user· προαγάγετέ τους από admin UI.