Files
NeveTimePanel/README_OIDC.md
2026-01-15 09:32:13 +06:00

8.0 KiB
Raw Blame History

🔐 OpenID Connect с ZITADEL - Документация

🎯 Статус: Готово к использованию

OpenID Connect с ZITADEL полностью интегрирован в MC Panel!

📚 Документация

🚀 Начало работы

Выберите подходящий файл в зависимости от ваших потребностей:

Файл Для кого Время чтения
СЛЕДУЮЩИЕАГИ.md Все 2 минуты
РЕЗЮМЕ.md Все 1 минута
ZITADEL_QUICK_START.md Пользователи 3 минуты
OPENID_CONNECT_SETUP.md Администраторы 10 минут
OIDC_CHANGES.md Разработчики 5 минут
СХЕМА_РАБОТЫ.md Разработчики 5 минут
ИТОГИ_РАБОТЫ.md Менеджеры 5 минут
ГОТОВО_OIDC.md Все 3 минуты

Быстрый старт

0. Установите зависимости (если ещё не установлены)

cd backend
pip install authlib==1.3.0 httpx==0.26.0

1. Создайте приложение в ZITADEL

→ zitadel.cloud
→ New Application
→ Web Application
→ Code (with PKCE)
→ Redirect URI: http://localhost:8000/api/auth/oidc/zitadel/callback

2. Настройте .env

# backend/.env
ZITADEL_ISSUER=https://your-instance.zitadel.cloud
ZITADEL_CLIENT_ID=123456789012345678@your-project
ZITADEL_CLIENT_SECRET=your-secret-here

3. Запустите

# Backend
cd backend && python main.py

# Frontend
cd frontend && npm run dev

4. Проверьте

→ http://localhost:3000
→ Кнопка "Войти через ZITADEL" 🔐

📖 Подробная документация

Для пользователей

СЛЕДУЮЩИЕАГИ.md

Что делать сейчас

  • Краткий план действий
  • Проверка работы
  • Визуальное представление
  • Решение проблем

ZITADEL_QUICK_START.md

Быстрый старт за 4 шага

  • Создание приложения в ZITADEL
  • Настройка .env файла
  • Запуск приложения
  • Проверка работы

ГОТОВО_OIDC.md

Итоговая инструкция

  • Что сделано
  • Как использовать
  • Документация
  • Возможности

Для администраторов

OPENID_CONNECT_SETUP.md

Полное руководство

  • Подробная настройка ZITADEL
  • Конфигурация backend
  • Конфигурация frontend
  • Безопасность
  • Troubleshooting

РЕЗЮМЕ.md

Краткое резюме

  • Что выполнено
  • Список файлов
  • Инструкция по использованию
  • Таблица документации

Для разработчиков

OIDC_CHANGES.md

Технические детали

  • Изменения в коде
  • Структура данных
  • API endpoints
  • Зависимости
  • Безопасность

СХЕМА_РАБОТЫ.md

Визуальная схема

  • Поток аутентификации
  • Диаграммы
  • Структура данных
  • Безопасность

ИТОГИ_РАБОТЫ.md

Полный отчёт

  • Что было сделано
  • Проверка качества
  • Статистика
  • Результаты

🔍 Структура проекта

MC Panel/
├── backend/
│   ├── main.py              # OAuth инициализация и endpoints
│   ├── oidc_config.py       # Конфигурация ZITADEL
│   ├── .env.example         # Пример настроек
│   └── requirements.txt     # Зависимости (authlib, httpx)
│
├── frontend/
│   └── src/
│       ├── App.jsx          # Обработка callback
│       └── components/
│           └── Auth.jsx     # Кнопка ZITADEL
│
└── docs/
    ├── СЛЕДУЮЩИЕАГИ.md    # Что делать сейчас
    ├── РЕЗЮМЕ.md            # Краткое резюме
    ├── ZITADEL_QUICK_START.md # Быстрый старт
    ├── OPENID_CONNECT_SETUP.md # Полная инструкция
    ├── OIDC_CHANGES.md      # Технические детали
    ├── СХЕМА_РАБОТЫ.md      # Визуальная схема
    ├── ИТОГИ_РАБОТЫ.md      # Полный отчёт
    ├── ГОТОВО_OIDC.md       # Итоговая инструкция
    └── README_OIDC.md       # Этот файл

Возможности

Функциональность

  • Вход через ZITADEL
  • Автоматическое создание пользователей
  • Обновление данных при входе
  • JWT токены для MC Panel
  • Безопасность (PKCE, state, nonce)

Интерфейс

  • Кнопка "Войти через ZITADEL" 🔐
  • Автоматический вход после OAuth
  • Красивый дизайн
  • Адаптивность

Безопасность

  • PKCE (Proof Key for Code Exchange)
  • State parameter (CSRF защита)
  • Nonce (replay защита)
  • JWT с истечением
  • Проверка redirect_uri

🎯 Рекомендации

Для разработки

  1. Используйте ZITADEL Cloud (бесплатно)
  2. Тестируйте на localhost
  3. Проверяйте логи backend
  4. Используйте DevTools браузера

Для продакшена

  1. Используйте HTTPS
  2. Настройте правильные redirect URIs
  3. Регулярно обновляйте client_secret
  4. Включите логирование
  5. Добавьте мониторинг

🆘 Помощь

Проблемы?

Проблема Решение
Кнопка не появляется Проверьте .env и перезапустите backend
Ошибка redirect_uri Проверьте настройки в ZITADEL
Ошибка invalid_client Проверьте Client ID и Secret
Не создаётся пользователь Проверьте логи backend

Подробнее: ZITADEL_QUICK_START.md → Раздел "Проблемы?"

📊 Статистика

  • Файлов изменено: 2
  • Файлов создано: 8 (документация)
  • Файлов удалено: 1
  • Строк кода: ~50 изменено
  • Строк документации: ~1500 добавлено
  • Время настройки: ~7 минут
  • Сложность: Низкая

🎉 Готово!

OpenID Connect с ZITADEL полностью интегрирован и готов к использованию!

Следующий шаг

→ Откройте СЛЕДУЮЩИЕАГИ.md и начните настройку!


Вопросы? Смотрите документацию выше или проверьте логи backend.

Всё работает? Отлично! Можете начинать использовать систему! 🚀