Перейти до основного вмісту

Єдиний вхід

Libre WebUI підтримує вхід OAuth через GitHub і Hugging Face, а також будь-якого постачальника OpenID Connect через універсальну інтеграцію OIDC. Користувачі OAuth усе одно зберігаються як локальні користувачі Libre WebUI й типово отримують роль user (OIDC може додатково зіставляти ролі та групи із тверджень).

GitHub OAuth

Створіть програму OAuth у GitHub Developer Settings.

Локальна адреса зворотного виклику:

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

Виробнича адреса зворотного виклику:

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

Файл .env серверної частини:

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

GitHub OAuth запитує область user:email. Імена нових користувачів отримують префікс gh_.

Hugging Face OAuth

Створіть програму OAuth у налаштуваннях Hugging Face.

Локальна адреса зворотного виклику:

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

Виробнича адреса зворотного виклику:

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

Файл .env серверної частини:

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

Імена нових користувачів отримують префікс hf_.

Універсальний OIDC

Підходить будь-який постачальник із документом виявлення OpenID Connect: Keycloak, Authentik, Authelia, Okta, Entra ID, Google Workspace та інші. Потік використовує PKCE (S256), стан CSRF і nonce, який перевіряється всередині ID-токена з перевіреним підписом; ключі підпису беруться з JWKS постачальника.

Зареєструйте конфіденційного клієнта з такою адресою зворотного виклику:

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

Файл .env серверної частини:

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

Ідентичності зв’язуються за стабільним твердженням sub, тому перейменований обліковий запис постачальника зберігає обліковий запис Libre. Нові користувачі отримують префікс oidc_, якщо реєстрацію дозволено. Адреса електронної пошти, що вже належить незв’язаному локальному обліковому запису, відхиляється, а не мовчки об’єднується. За OIDC_SYNC_GROUPS=true членство користувача OIDC у всіх групах Libre, назва яких відповідає значенню твердження, керується твердженнями — спочатку створіть відповідні групи на вкладці Керування користувачами в Налаштуваннях.

Спільні налаштування

Задайте публічну адресу серверної частини:

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

Якщо адреси зворотного виклику не задано явно, Libre WebUI створює типові значення з BASE_URL.

Обмеження

Libre WebUI поки не надає SAML або автоматичне створення облікових записів через SCIM. Списки дозволених доменів і зіставлення ролей/груп доступні лише універсальному OIDC; користувачі GitHub і Hugging Face завжди створюються з роллю user і керуються через інтерфейс адміністратора.

Усунення неполадок

Кнопка OAuth нічого не робить

Переконайтеся, що ID клієнта й секрет задано, а серверну частину перезапущено.

Постачальник відхиляє зворотний виклик

Адреса зворотного виклику в панелі постачальника має точно збігатися з адресою Libre WebUI.

Користувач отримує звичайні права

Користувачі OAuth типово створюються як user. За потреби підвищте роль в інтерфейсі адміністратора.

Пов’язана документація