Masuk Tunggal
Libre WebUI mendukung masuk OAuth melalui GitHub dan Hugging Face serta semua penyedia OpenID Connect melalui integrasi OIDC umum. Pengguna OAuth tetap disimpan sebagai pengguna lokal Libre WebUI dan mendapat peran user secara bawaan (OIDC dapat memetakan peran dan grup dari klaim).
GitHub OAuth
Buat aplikasi OAuth di GitHub Developer Settings.
URL panggilan balik lokal:
http://localhost:3001/api/auth/oauth/github/callback
URL produksi:
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 meminta cakupan user:email. Nama pengguna baru diberi awalan gh_.
Hugging Face OAuth
Buat aplikasi OAuth di pengaturan Hugging Face.
URL panggilan balik lokal:
http://localhost:3001/api/auth/oauth/huggingface/callback
URL produksi:
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
Nama pengguna baru diberi awalan hf_.
OIDC Umum
Semua penyedia dengan dokumen penemuan OpenID Connect bekerja: Keycloak, Authentik, Authelia, Okta, Entra ID, Google Workspace, dan lainnya. Alur memakai PKCE (S256), status CSRF, dan nonce yang diverifikasi dalam token ID bertanda tangan; kunci berasal dari JWKS penyedia.
Daftarkan klien rahasia dengan URL:
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
Kebijakan opsional:
# 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
Identitas ditautkan melalui klaim sub, sehingga akun penyedia yang berganti nama mempertahankan akun Libre. Pengguna baru mendapat awalan oidc_ jika pendaftaran diizinkan. Email milik akun lokal yang tidak tertaut ditolak, bukan digabung diam-diam. Dengan OIDC_SYNC_GROUPS=true, keanggotaan grup Libre dengan nama yang cocok dikendalikan klaim; buat grup di tab Manajemen Pengguna dalam Pengaturan terlebih dahulu.
Pengaturan Bersama
Tetapkan URL backend publik:
BASE_URL=https://your-domain.example
CORS_ORIGIN=https://your-domain.example
Jika URL panggilan balik tidak ditetapkan, Libre WebUI membuat nilai bawaan dari BASE_URL.
Batasan
Libre WebUI belum menyediakan SAML atau penyediaan SCIM. Daftar domain dan pemetaan peran/grup hanya tersedia untuk OIDC umum; pengguna GitHub dan Hugging Face selalu dibuat dengan peran user dan dikelola melalui antarmuka admin.
Pemecahan Masalah
Tombol OAuth tidak berfungsi
Pastikan ID klien dan rahasia ditetapkan serta backend dimulai ulang.
Penyedia menolak panggilan balik
URL di panel penyedia harus sama persis dengan Libre WebUI.
Pengguna mendapat izin biasa
Pengguna OAuth dibuat sebagai user. Naikkan peran melalui antarmuka admin jika perlu.