Przejdź do głównej zawartości

Jednokrotne logowanie

Libre WebUI obsługuje logowanie OAuth przez GitHub i Hugging Face oraz każdego dostawcę OpenID Connect przez ogólną integrację OIDC. Użytkownicy OAuth są nadal przechowywani jako lokalni użytkownicy Libre WebUI i domyślnie otrzymują rolę user (OIDC może opcjonalnie mapować role i grupy z oświadczeń).

GitHub OAuth

Utwórz aplikację OAuth w GitHub Developer Settings.

Lokalny adres zwrotny:

http://localhost:3001/api/auth/oauth/github/callback

Produkcyjny adres zwrotny:

https://your-domain.example/api/auth/oauth/github/callback

Plik .env backendu:

GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
GITHUB_CALLBACK_URL=https://your-domain.example/api/auth/oauth/github/callback

GitHub OAuth żąda zakresu user:email. Nowi użytkownicy otrzymują nazwy z prefiksem gh_.

Hugging Face OAuth

Utwórz aplikację OAuth w ustawieniach Hugging Face.

Lokalny adres zwrotny:

http://localhost:3001/api/auth/oauth/huggingface/callback

Produkcyjny adres zwrotny:

https://your-domain.example/api/auth/oauth/huggingface/callback

Plik .env backendu:

HUGGINGFACE_CLIENT_ID=...
HUGGINGFACE_CLIENT_SECRET=...
HUGGINGFACE_CALLBACK_URL=https://your-domain.example/api/auth/oauth/huggingface/callback

Nowi użytkownicy otrzymują nazwy z prefiksem hf_.

Ogólne OIDC

Działa każdy dostawca z dokumentem wykrywania OpenID Connect: Keycloak, Authentik, Authelia, Okta, Entra ID, Google Workspace i inni. Przepływ używa PKCE (S256), stanu CSRF i nonce weryfikowanego wewnątrz tokenu ID ze sprawdzonym podpisem; klucze podpisujące pochodzą z JWKS dostawcy.

Zarejestruj poufnego klienta z tym adresem zwrotnym:

https://your-domain.example/api/auth/oauth/oidc/callback

Plik .env backendu:

OIDC_ISSUER_URL=https://id.example.com/realms/main
OIDC_CLIENT_ID=libre-webui
OIDC_CLIENT_SECRET=...
OIDC_DISPLAY_NAME=Example SSO

Opcjonalne zasady:

# 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

Tożsamości są łączone na podstawie stabilnego oświadczenia sub, dlatego konto dostawcy po zmianie nazwy zachowuje konto Libre. Nowi użytkownicy otrzymują nazwy z prefiksem oidc_, jeśli rejestracja na to pozwala. Adres e-mail należący już do niepołączonego konta lokalnego jest odrzucany, a nie po cichu scalany. Przy OIDC_SYNC_GROUPS=true członkostwo użytkowników OIDC we wszystkich grupach Libre, których nazwa odpowiada wartości oświadczenia, jest sterowane przez oświadczenia — najpierw utwórz odpowiednie grupy na karcie Zarządzanie użytkownikami w Settings.

Ustawienia wspólne

Ustaw publiczny adres backendu:

BASE_URL=https://your-domain.example
CORS_ORIGIN=https://your-domain.example

Jeśli adresy zwrotne nie są ustawione jawnie, Libre WebUI tworzy wartości domyślne z BASE_URL.

Ograniczenia

Libre WebUI nie udostępnia obecnie SAML ani aprowizacji SCIM. Listy dozwolonych domen i mapowanie ról/grup są dostępne tylko dla ogólnego dostawcy OIDC; użytkownicy GitHub i Hugging Face są zawsze tworzeni z rolą user i zarządzani w interfejsie administratora.

Rozwiązywanie problemów

Przycisk OAuth nic nie robi

Potwierdź ustawienie identyfikatora klienta i sekretu dostawcy oraz ponowne uruchomienie backendu.

Dostawca odrzuca adres zwrotny

Adres zwrotny w panelu dostawcy musi dokładnie odpowiadać adresowi używanemu przez Libre WebUI.

Użytkownik otrzymuje zwykłe uprawnienia

Użytkownicy OAuth są domyślnie tworzeni jako user. W razie potrzeby awansuj ich w interfejsie administratora.

Powiązana dokumentacja