Lewati ke konten utama

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.

Dokumentasi Terkait