2.5 KiB
2.5 KiB
✅ Исправление ошибки ModuleNotFoundError
❌ Ошибка
ModuleNotFoundError: No module named 'authlib.integrations.fastapi_client'
✅ Решение
Шаг 1: Установите зависимости
cd backend
pip install authlib==1.3.0 httpx==0.26.0
Или установите все зависимости сразу:
cd backend
pip install -r requirements.txt
Шаг 2: Проверьте установку
python -c "from authlib.integrations.starlette_client import OAuth; print('✓ OK')"
Должно вывести: ✓ OK
Шаг 3: Запустите сервер
cd backend
python main.py
Должно появиться:
⚠ ZITADEL провайдер не настроен. Проверьте .env файл.
INFO: Started server process [12345]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000
📝 Что было исправлено
В файле backend/main.py
Было:
from authlib.integrations.fastapi_client import OAuth
Стало:
from authlib.integrations.starlette_client import OAuth
Причина: FastAPI основан на Starlette, поэтому в authlib 1.3.0 используется starlette_client, а не fastapi_client.
🔍 Проверка
1. Проверьте версию authlib
pip show authlib
Должно быть: Version: 1.3.0
2. Проверьте импорт
python -c "from authlib.integrations.starlette_client import OAuth; print('✓ Импорт работает')"
3. Проверьте main.py
python -c "import py_compile; py_compile.compile('backend/main.py', doraise=True); print('✓ Синтаксис правильный')"
✅ Готово!
Ошибка исправлена. Теперь можете запускать сервер:
cd backend
python main.py
🚀 Следующие шаги
- Настройте ZITADEL (см.
ZITADEL_QUICK_START.md) - Обновите
.envфайл - Перезапустите сервер
- Проверьте кнопку "Войти через ZITADEL"
📚 Дополнительная информация
- Документация authlib: https://docs.authlib.org/
- FastAPI и Starlette: https://fastapi.tiangolo.com/
- Наша документация:
README_OIDC.md