#!/bin/bash # Скрипт для применения исправления OAuth endpoint set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$SCRIPT_DIR" cd "$PROJECT_DIR" echo "=== Применение исправления OAuth endpoint ===" echo "" # Проверка .env файла if [ ! -f ".env" ]; then echo "✗ Ошибка: .env файл не найден" exit 1 fi # Проверка правильного slug if grep -q "OPENID_CONNECT_ISSUER=https://auth.iieasy.ru/application/o/open-webui/" .env; then echo "✓ .env содержит правильный slug: open-webui" else echo "✗ Ошибка: .env не содержит правильный slug" echo " Должно быть: OPENID_CONNECT_ISSUER=https://auth.iieasy.ru/application/o/open-webui/" exit 1 fi echo "" echo "1. Перезапуск контейнера open-webui..." sudo docker compose restart open-webui echo "" echo "2. Ожидание запуска контейнера (20 секунд)..." sleep 20 echo "" echo "3. Проверка статуса контейнера..." if sudo docker compose ps open-webui | grep -q "Up"; then echo "✓ Контейнер запущен" else echo "✗ Контейнер не запустился. Проверьте логи:" echo " sudo docker compose logs open-webui" exit 1 fi echo "" echo "4. Проверка логов на ошибки OAuth..." OAUTH_ERRORS=$(sudo docker compose logs open-webui --tail 50 2>&1 | grep -i "oauth\|oidc\|404\|error" | tail -5 || true) if [ -z "$OAUTH_ERRORS" ]; then echo "✓ Ошибок OAuth не найдено" else echo "⚠ Найдены ошибки в логах:" echo "$OAUTH_ERRORS" fi echo "" echo "=== Готово! ===" echo "" echo "Проверьте OAuth:" echo "1. Откройте https://odo.iieasy.ru" echo "2. Нажмите кнопку 'iiEasy ID' для входа через OAuth" echo "" echo "Если есть проблемы, проверьте логи:" echo " sudo docker compose logs open-webui --tail 100 | grep -i oauth"