# Исправление проблемы с OAuth после rebrand.sh ## Проблема После запуска `rebrand.sh` OAuth перестает работать и выкидывает на страницу авторизации. Без rebrand все работает нормально. ## Причина Скрипт `rebrand.sh` изменяет файлы Python/JS, включая файлы, связанные с OAuth/аутентификацией, что ломает конфигурацию OAuth. ## Решение ### Вариант 1: Использовать безопасный скрипт (РЕКОМЕНДУЕТСЯ) Используйте новый скрипт `rebrand_safe.sh`, который изменяет ТОЛЬКО логотипы и favicon: ```bash 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 сломался: ```bash 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 после восстановления После восстановления контейнера проверьте: ```bash # Проверьте логи 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" ```