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

3.8 KiB
Raw Permalink Blame History

Исправление проблемы с OAuth после rebrand.sh

Проблема

После запуска rebrand.sh OAuth перестает работать и выкидывает на страницу авторизации. Без rebrand все работает нормально.

Причина

Скрипт rebrand.sh изменяет файлы Python/JS, включая файлы, связанные с OAuth/аутентификацией, что ломает конфигурацию OAuth.

Решение

Вариант 1: Использовать безопасный скрипт (РЕКОМЕНДУЕТСЯ)

Используйте новый скрипт rebrand_safe.sh, который изменяет ТОЛЬКО логотипы и favicon:

cd /home/its/iiEasyWeb
sudo ./scripts/rebrand_safe.sh

Этот скрипт:

  • Изменяет только логотипы и favicon
  • НЕ изменяет код Python/JS
  • НЕ влияет на OAuth/Authentik

Вариант 2: Использовать Admin Panel (НАИБОЛЕЕ БЕЗОПАСНО)

Для постоянных изменений используйте Admin Panel Open WebUI:

  1. Откройте https://odo.iieasy.ru
  2. Войдите как администратор
  3. Перейдите в Settings → Appearance → Logo
  4. Загрузите логотипы и favicon из папки media/
  5. Сохраните - настройки сохранятся в базе данных

Это самый безопасный способ, так как изменения сохраняются в базе данных и не затрагивают код.

Вариант 3: Восстановить контейнер после rebrand.sh

Если вы уже запустили rebrand.sh и OAuth сломался:

cd /home/its/iiEasyWeb

# Пересоздайте контейнер с чистой версией
sudo docker compose stop open-webui
sudo docker compose rm -f open-webui
sudo docker compose up -d open-webui

# Подождите 30 секунд
sleep 30

# Используйте безопасный скрипт для логотипов
sudo ./scripts/rebrand_safe.sh

Почему rebrand.sh ломает OAuth?

Скрипт rebrand.sh пытается заменить текст "Open WebUI" во всех файлах, включая:

  • /app/backend/open_webui/utils/oauth.py - файлы OAuth
  • /app/backend/open_webui/main.py - может содержать OAuth логику
  • Другие файлы, связанные с аутентификацией

Даже с фильтрами исключения, некоторые файлы могут быть изменены, что ломает OAuth конфигурацию.

Рекомендации

  1. Для логотипов: Используйте rebrand_safe.sh или Admin Panel
  2. Для текста интерфейса: Используйте переменные окружения в docker-compose.yml:
    • WEBUI_NAME=iiEasyWeb (уже настроено)
    • OAUTH_PROVIDER_NAME=iiEasy ID (уже настроено)
  3. Избегайте: Изменения кода Python/JS через sed в работающем контейнере

Проверка OAuth после восстановления

После восстановления контейнера проверьте:

# Проверьте логи
sudo docker compose logs open-webui --tail 50 | grep -i "oauth\|error"

# Проверьте конфигурацию
grep OPENID_CONNECT_ISSUER .env
# Должно быть: OPENID_CONNECT_ISSUER=https://auth.iieasy.ru/application/o/open-webui/

# Проверьте OAuth в браузере
# Откройте https://odo.iieasy.ru и нажмите "iiEasy ID"