Přeskočit na hlavní obsah

Jednotné přihlašování

Libre WebUI podporuje OAuth přihlášení přes GitHub a Hugging Face i libovolného poskytovatele OpenID Connect prostřednictvím obecné integrace OIDC. Uživatelé OAuth se stále ukládají jako místní uživatelé Libre WebUI a ve výchozím stavu dostanou roli user. OIDC může volitelně mapovat role a skupiny z claims.

GitHub OAuth

V GitHub Developer Settings vytvořte aplikaci OAuth.

Místní callback URL:

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

Produkční callback URL:

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

Soubor .env backendu:

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

GitHub OAuth žádá scope user:email. Nová uživatelská jména mají prefix gh_.

Hugging Face OAuth

V nastavení Hugging Face vytvořte aplikaci OAuth.

Místní callback URL:

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

Produkční callback URL:

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

Soubor .env backendu:

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

Nová uživatelská jména mají prefix hf_.

Obecné OIDC

Funguje každý poskytovatel s discovery dokumentem OpenID Connect, například Keycloak, Authentik, Authelia, Okta, Entra ID nebo Google Workspace. Tok používá PKCE (S256), stav CSRF a nonce ověřený uvnitř ID tokenu s kontrolovaným podpisem; podpisové klíče se získají z JWKS poskytovatele.

Zaregistrujte důvěrného klienta s touto callback URL:

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

Soubor .env backendu:

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

Volitelná pravidla:

# 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

Identity se vážou ke stabilnímu claim sub, takže přejmenovaný účet poskytovatele zachová svůj účet Libre. Noví uživatelé dostanou jména s prefixem oidc_, pokud je registrace povolena. E-mail již vlastněný nepropojeným místním účtem se odmítne místo tichého sloučení. Při OIDC_SYNC_GROUPS=true řídí claims členství ve všech skupinách Libre se shodným názvem; nejprve tyto skupiny vytvořte na kartě User Management v Settings.

Společná nastavení

Nastavte veřejnou URL backendu:

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

Pokud callback URL nezadáte explicitně, Libre WebUI vytvoří výchozí hodnoty z BASE_URL.

Omezení

Libre WebUI momentálně neposkytuje SAML ani provisioning SCIM. Seznam povolených domén a mapování rolí/skupin jsou dostupné pouze pro obecné OIDC. Uživatelé GitHubu a Hugging Face vždy vzniknou s rolí user a spravují se v administrátorském rozhraní.

Řešení problémů

Tlačítko OAuth nic nedělá Ověřte client ID a secret poskytovatele a restart backendu.

Poskytovatel odmítá callback URL v panelu poskytovatele se musí přesně shodovat s URL používanou Libre WebUI.

Uživatel má běžná oprávnění Uživatelé OAuth vznikají jako user; podle potřeby je povyšte v administrátorském rozhraní.

Související dokumentace