Files
python-oauth2-proxy-k8s/FINAL_STATUS.md
2025-10-01 15:04:07 +05:00

59 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### **Финальная архитектура в 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)