Files
iiEsaywebUI/AUTHENTIK_SETUP.md
2026-02-19 18:12:09 +00:00

4.6 KiB
Raw Blame History

Настройка Authentik для Open WebUI

Проблема: Internal Server Error при входе через Authentik

Диагностика

  1. Проверьте доступность Authentik:

    curl -I https://auth.iieasy.ru
    
  2. Проверьте OpenID endpoint:

    # Правильный путь для Authentik:
    curl https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration
    
  3. Проверьте логи Open WebUI:

    sudo docker compose logs open-webui | grep -i "auth\|oidc\|oauth\|error"
    

Правильная настройка Authentik

Шаг 1: Создание OIDC Provider в Authentik

  1. Войдите в Authentik: https://auth.iieasy.ru

  2. Перейдите в ProvidersAdd Provider

  3. Выберите OpenID Connect / OAuth2 / OAuth2 with OpenID Connect

  4. Заполните:

    • Name: Open WebUI (или любое имя)
    • Authorization flow: Выберите существующий flow
    • Redirect URIs: https://odo.iieasy.ru/oauth/oidc/callback
    • Client type: Confidential
    • Client ID: Запомните этот ID
    • Client Secret: Запомните этот секрет
  5. Сохраните Provider

Шаг 2: Создание Application в Authentik

  1. Перейдите в ApplicationsAdd Application
  2. Заполните:
    • Name: Open WebUI
    • Slug: open-webui (это важно для URL!)
    • Provider: Выберите созданный Provider
  3. Сохраните Application

Шаг 3: Проверка правильного URL

После создания Application, правильный URL будет:

https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration

Где open-webui - это slug из Application.

Шаг 4: Обновление .env

В файле .env убедитесь, что:

OPENID_CONNECT_ISSUER=https://auth.iieasy.ru/application/o/open-webui/

ВАЖНО:

  • URL должен заканчиваться на /
  • Slug (open-webui) должен совпадать с slug в Authentik Application
  • После /application/o/ идет slug, затем /

Шаг 5: Проверка переменных в docker-compose.yml

В docker-compose.yml используется:

OPENID_PROVIDER_URL=${OPENID_CONNECT_ISSUER}.well-known/openid-configuration

Это создаст полный URL:

https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration

Шаг 6: Перезапуск контейнера

cd /home/its/iiEasyWeb
sudo docker compose restart open-webui

Временное решение: Включить форму входа

Если Authentik не работает, временно включите форму входа:

В docker-compose.yml измените:

- ENABLE_LOGIN_FORM=true  # Временно включено
- ENABLE_OAUTH_SIGNUP=false  # Временно отключено

Затем перезапустите:

sudo docker compose restart open-webui

Проверка конфигурации

  1. Проверьте, что endpoint доступен:

    curl https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration
    

    Должен вернуться JSON с конфигурацией OpenID Connect.

  2. Проверьте redirect URI в Authentik:

    • Должен быть: https://odo.iieasy.ru/oauth/oidc/callback
    • Без завершающего слеша
  3. Проверьте логи:

    sudo docker compose logs open-webui --tail 100 | grep -i "oidc\|oauth"
    

Частые ошибки

404 Not Found на .well-known/openid-configuration

  • Проверьте slug в Application (должен быть open-webui)
  • Проверьте URL в .env (должен заканчиваться на /)
  • Убедитесь, что Application привязан к Provider

Invalid redirect URI

  • Проверьте redirect URI в Authentik: https://odo.iieasy.ru/oauth/oidc/callback
  • Убедитесь, что домен правильный (без порта, если используете HTTPS)

Internal Server Error

  • Проверьте логи Open WebUI
  • Убедитесь, что Client ID и Client Secret правильные
  • Проверьте, что SSL сертификат валидный для auth.iieasy.ru