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