Commit Graph

3564 Commits

Author SHA1 Message Date
31cf6b6961 invalidation-fix4
All checks were successful
Deploy on push / deploy (push) Successful in 3m9s
2025-10-01 23:59:09 +03:00
116deb16d7 invalidation-follow-fix3
All checks were successful
Deploy on push / deploy (push) Successful in 3m12s
2025-10-01 23:53:09 +03:00
2dacb837f3 follow-cache-invalidation-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m18s
2025-10-01 23:41:28 +03:00
50539a71ba following-cache-invalidation-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m20s
2025-10-01 17:53:28 +03:00
4800f227bc follow-cache-invalidate-before-fix
All checks were successful
Deploy on push / deploy (push) Successful in 5m18s
2025-10-01 15:04:36 +03:00
14ff155789 config-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m19s
2025-09-30 21:48:29 +03:00
3ae675c52c auth-fix
All checks were successful
Deploy on push / deploy (push) Successful in 5m44s
2025-09-30 19:20:41 +03:00
9b284852e9 oath2.0
All checks were successful
Deploy on push / deploy (push) Successful in 2m57s
2025-09-29 16:33:49 +03:00
504152981b admin-auth
All checks were successful
Deploy on push / deploy (push) Successful in 3m3s
2025-09-29 16:08:58 +03:00
f2398d3592 protected-route-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m2s
2025-09-29 15:54:22 +03:00
8e944e399a oauth-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m7s
2025-09-29 13:59:49 +03:00
f10c29c9ca logfix
All checks were successful
Deploy on push / deploy (push) Successful in 2m51s
2025-09-29 12:51:04 +03:00
b4b41fde08 oauth-fixing
All checks were successful
Deploy on push / deploy (push) Successful in 2m47s
2025-09-29 08:53:39 +03:00
327135c09b cleaner-log4
All checks were successful
Deploy on push / deploy (push) Successful in 4m29s
2025-09-29 08:15:15 +03:00
a0ab20f276 cleaner-log3
All checks were successful
Deploy on push / deploy (push) Successful in 3m2s
2025-09-29 01:00:18 +03:00
d7e50c6e31 cleaner-log2
All checks were successful
Deploy on push / deploy (push) Successful in 2m53s
2025-09-29 00:46:54 +03:00
d57e59f98b cleaner-log
All checks were successful
Deploy on push / deploy (push) Successful in 2m57s
2025-09-29 00:40:10 +03:00
6496bee531 fetch-profile
All checks were successful
Deploy on push / deploy (push) Successful in 2m55s
2025-09-29 00:27:16 +03:00
147e227fa0 oauth-google
All checks were successful
Deploy on push / deploy (push) Successful in 2m57s
2025-09-28 20:53:42 +03:00
c338bdc683 oauth-github
Some checks failed
Deploy on push / deploy (push) Has been cancelled
2025-09-28 20:52:17 +03:00
44b69dc743 oauth-raw-req-control
All checks were successful
Deploy on push / deploy (push) Successful in 2m55s
2025-09-28 20:45:08 +03:00
9b727ac9ca oauth-fix
All checks were successful
Deploy on push / deploy (push) Successful in 2m55s
2025-09-28 20:34:26 +03:00
d1e35dd8b1 oauth-redirect-uri-fix
All checks were successful
Deploy on push / deploy (push) Successful in 2m54s
2025-09-28 20:04:52 +03:00
dcdb6c7b30 lesslogs2
All checks were successful
Deploy on push / deploy (push) Successful in 2m54s
2025-09-28 17:36:04 +03:00
af0f3e3dea lesslogs
All checks were successful
Deploy on push / deploy (push) Successful in 2m55s
2025-09-28 17:26:23 +03:00
752e2dcbdc [0.9.28] - 2025-09-28
All checks were successful
Deploy on push / deploy (push) Successful in 2m46s
### 🍪 CRITICAL Cross-Origin Auth
- **🔧 SESSION_COOKIE_DOMAIN**: Добавлена поддержка поддоменов `.discours.io` для cross-origin cookies
- **🌐 Cross-Origin SSE**: Исправлена работа Server-Sent Events с httpOnly cookies между поддоменами
- **🔐 Unified Auth**: Унифицированы настройки cookies для OAuth, login, refresh, logout операций
- **📝 MyPy Compliance**: Исправлена типизация `SESSION_COOKIE_SAMESITE` с использованием `cast()`

### 🛠️ Technical Changes
- **settings.py**: Добавлен `SESSION_COOKIE_DOMAIN` с типобезопасной настройкой SameSite
- **auth/oauth.py**: Обновлены все `set_cookie` вызовы с `domain` параметром
- **auth/middleware.py**: Добавлена поддержка `SESSION_COOKIE_DOMAIN` в logout операциях
- **resolvers/auth.py**: Унифицированы cookie настройки в login/refresh/logout resolvers
- **auth/__init__.py**: Обновлены cookie операции с domain поддержкой

### 📚 Documentation
- **docs/auth/sse-httponly-integration.md**: Новая документация по SSE + httpOnly cookies интеграции
- **docs/auth/architecture.md**: Обновлены диаграммы для unified httpOnly cookie архитектуры

### 🎯 Impact
-  **GraphQL API** (`v3.discours.io`) теперь работает с httpOnly cookies cross-origin
-  **SSE сервер** (`connect.discours.io`) работает с теми же cookies
-  **Безопасность**: httpOnly cookies защищают от XSS атак
-  **UX**: Автоматическая аутентификация без управления токенами в JavaScript
2025-09-28 13:06:03 +03:00
fb98a1c6c8 [0.9.28] - OAuth/Auth with httpOnly cookie
All checks were successful
Deploy on push / deploy (push) Successful in 4m32s
2025-09-28 12:22:37 +03:00
6451ba7de5 cookie-fix
All checks were successful
Deploy on push / deploy (push) Successful in 2m53s
2025-09-27 20:37:19 +03:00
ee82a8f684 cookie-debug2
All checks were successful
Deploy on push / deploy (push) Successful in 2m47s
2025-09-27 20:25:30 +03:00
c46b30a671 cookie-debug
All checks were successful
Deploy on push / deploy (push) Successful in 2m48s
2025-09-27 20:17:00 +03:00
19e0092a83 cilog
All checks were successful
Deploy on push / deploy (push) Successful in 4m20s
2025-09-27 13:59:40 +03:00
bd54d900aa separate-codegen-fix2
Some checks failed
Deploy on push / deploy (push) Failing after 32s
2025-09-27 13:56:10 +03:00
eab0ba7b42 separate-codegen-fix
Some checks failed
Deploy on push / deploy (push) Failing after 30s
2025-09-27 13:53:00 +03:00
a2cca6f189 ..
Some checks failed
Deploy on push / deploy (push) Failing after 35s
2025-09-27 13:51:15 +03:00
2ac983d81e nodiag
Some checks failed
Deploy on push / deploy (push) Failing after 36s
2025-09-27 13:47:26 +03:00
e0e3e39d55 codegen-2addr
Some checks failed
Deploy on push / deploy (push) Failing after 35s
2025-09-27 13:30:47 +03:00
853ed77083 ci-diagnostic
Some checks failed
Deploy on push / deploy (push) Failing after 34s
2025-09-27 13:28:51 +03:00
03626ec20d panelfix
Some checks failed
Deploy on push / deploy (push) Failing after 31s
2025-09-27 13:20:56 +03:00
97cb0f999c panel-install-fix
Some checks failed
Deploy on push / deploy (push) Failing after 32s
2025-09-27 13:08:57 +03:00
0f6cc61286 mypyfix
Some checks failed
Deploy on push / deploy (push) Failing after 36s
2025-09-27 12:31:53 +03:00
ee799120f6 fmt
Some checks failed
Deploy on push / deploy (push) Failing after 34s
2025-09-26 21:13:23 +03:00
05c188df62 [0.9.29] - 2025-09-26
Some checks failed
Deploy on push / deploy (push) Failing after 39s
### 🚨 CRITICAL Security Fixes
- **🔒 Open Redirect Protection**: Добавлена строгая валидация redirect_uri против whitelist доменов
- **🔒 Rate Limiting**: Защита OAuth endpoints от брутфорса (10 попыток за 5 минут на IP)
- **🔒 Logout Endpoint**: Критически важный endpoint для безопасного отзыва httpOnly cookies
- **🔒 Provider Validation**: Усиленная валидация OAuth провайдеров с логированием атак
- **🚨 GlitchTip Alerts**: Автоматические алерты безопасности в GlitchTip при критических событиях

### 🛡️ Security Modules
- **auth/oauth_security.py**: Модуль безопасности OAuth с валидацией и rate limiting + GlitchTip алерты
- **auth/logout.py**: Безопасный logout с поддержкой JSON API и browser redirect
- **tests/test_oauth_security.py**: Комплексные тесты безопасности (11 тестов)
- **tests/test_oauth_glitchtip_alerts.py**: Тесты интеграции с GlitchTip (8 тестов)

### 🔧 OAuth Improvements
- **Minimal Flow**: Упрощен до минимума - только httpOnly cookie, нет JWT в URL
- **Simple Logic**: Нет error параметра = успех, максимальная простота
- **DRY Refactoring**: Устранено дублирование кода в logout и валидации

### 🎯 OAuth Endpoints
- **Старт**: `v3.dscrs.site/oauth/{provider}` - с rate limiting и валидацией
- **Callback**: `v3.dscrs.site/oauth/{provider}/callback` - безопасный redirect_uri
- **Logout**: `v3.dscrs.site/auth/logout` - отзыв httpOnly cookies
- **Финализация**: `testing.discours.io/oauth?redirect_url=...` - минимальная схема

### 📊 Security Test Coverage
-  Open redirect attack prevention
-  Rate limiting protection
-  Provider validation
-  Safe fallback mechanisms
-  Cookie security (httpOnly + Secure + SameSite)
-  GlitchTip integration (8 тестов алертов)

### 📝 Documentation
- Создан `docs/oauth-minimal-flow.md` - полное описание минимального flow
- Обновлена документация OAuth в `docs/auth/oauth.md`
- Добавлены security best practices
2025-09-26 21:03:45 +03:00
ac0111cdb9 tests-upgrade
All checks were successful
Deploy on push / deploy (push) Successful in 57m1s
2025-09-25 09:40:12 +03:00
1992434a13 npmfix
Some checks failed
Deploy on push / deploy (push) Has been cancelled
2025-09-25 08:52:55 +03:00
34738ae611 [0.9.25] - 2025-01-25
Some checks failed
Deploy on push / deploy (push) Failing after 24s
### Added
- 🔍 **OAuth Detailed Logging**: Добавлено пошаговое логирование OAuth callback для диагностики ошибок `auth_failed`
- 🧪 **OAuth Diagnostic Tools**: Создан `oauth_debug.py` для анализа OAuth callback параметров и диагностики проблем
- 📊 **OAuth Test Helper**: Добавлен `oauth_test_helper.py` для создания тестовых состояний OAuth в Redis
- 🔧 **OAuth Provider Detection**: Автоматическое определение OAuth провайдера по формату authorization code

### Fixed
- 🚨 **OAuth Callback Error Handling**: Улучшена обработка исключений в OAuth callback с детальным логированием каждого шага
- 🔍 **OAuth Exception Tracking**: Добавлено логирование исключений на каждом этапе: token exchange, profile fetch, user creation, session creation
- 📋 **OAuth Error Diagnosis**: Реализована система диагностики для выявления точной причины `error=auth_failed` редиректов

### Changed
- 🔧 **OAuth Callback Flow**: Разделен OAuth callback на логические шаги с индивидуальным error handling
- 📝 **OAuth Error Messages**: Улучшены сообщения об ошибках для более точной диагностики проблем
2025-09-25 08:48:36 +03:00
2ce8a5b957 🔧 Add detailed OAuth callback logging for debugging auth_failed errors
All checks were successful
Deploy on push / deploy (push) Successful in 54m37s
2025-09-25 07:54:00 +03:00
5d0ad2a2e3 oauth-fix3
All checks were successful
Deploy on push / deploy (push) Successful in 7m8s
2025-09-24 23:11:01 +03:00
77513080c7 oauth-fix2
All checks were successful
Deploy on push / deploy (push) Successful in 7m3s
2025-09-24 19:39:50 +03:00
c9b6c77658 oauth-fix2
All checks were successful
Deploy on push / deploy (push) Successful in 6m59s
2025-09-24 19:30:06 +03:00
12023d9eda oauth-fix
All checks were successful
Deploy on push / deploy (push) Successful in 7m5s
2025-09-24 13:35:49 +03:00