Files
iiEsaywebUI/REBRAND_OAUTH_FIX.md

90 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

# Исправление проблемы с 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"
```