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"
|
|||
|
|
```
|