This commit is contained in:
2025-10-01 15:04:07 +05:00
commit b526a80e1f
33 changed files with 4581 additions and 0 deletions

58
FINAL_STATUS.md Normal file
View File

@ -0,0 +1,58 @@
### **Финальная архитектура в k8s:**
```mermaid
flowchart
A["python-navigator-demo.127.0.0.1.sslip.io"] --> B["Единый Ingress + DexAuthenticator<br/>(аутентификация)"]
B --> C["Frontend Service"]
B --> D["DexAuthenticator Service"]
B --> E["Backend Service"]
C --> F["Frontend Pods"]
D --> G["DexAuthenticator Pods"]
E --> H["Backend Pods"]
H --> I["PostgreSQL Service"]
classDef ingress fill:#e1f5fe
classDef service fill:#f3e5f5
classDef pod fill:#e8f5e8
classDef database fill:#fff3e0
class A,B ingress
class C,D,E service
class F,G,H pod
class I database
```
### **Правильный поток аутентификации:**
1. Пользователь заходит на `https://python-navigator-demo.127.0.0.1.sslip.io`
2. DexAuthenticator проверяет аутентификацию
3. Если не аутентифицирован → редирект на Dex (HTTP 302)
4. Если не аутентифицирован в Dex → редирект на Blitz IdP (HTTP 302)
4. После аутентификации в Blitz IdP → возврат в Dex
4. После аутентификации в Dex → возврат в приложение
5. Frontend загружается с аутентификацией
6. Frontend делает запрос к `/api/user-info`
7. Backend получает JWT токен и валидирует его
8. Backend возвращает данные пользователя из PostgreSQL
9. Frontend отображает информацию о пользователе и доступные ресурсы
### **Для тестирования:**
**Откройте браузер и перейдите на `https://python-navigator-demo.127.0.0.1.sslip.io`**
Вас должно перенаправить на Dex для аутентификации. После входа вы увидите:
- Информацию о пользователе (email, полное имя, организация)
- Его роли (admin, developer, user, manager)
- Доступные ресурсы на основе ролей
### **Тестовые пользователи:**
Убедитесь, что в вашем Dex и внешнем IdP есть пользователи:
- `admin@example.com` - полный доступ ко всем ресурсам
- `developer@example.com` - технические ресурсы (CI/CD, Git, Docs, Wiki)
- `user@example.com` - только база знаний
- `manager@example.com` - управленческие ресурсы (Проекты, Отчеты, Wiki)