Authentication Flow

K-001

Legends DXP kimlik dogrulama akisi. Sadece cep telefonu + OTP ile giris. E-posta ve sifre sistemi yok.

flowchart TD
    subgraph AUTH["Authentication"]
        START(("Başla")) --> LOGIN["Login Sayfası
Telefon girişi"] LOGIN --> ENTER["Cep telefonu gir"] ENTER --> CHECK{"Telefon
kayıtlı?"} end subgraph OTP["OTP Verification"] CHECK -->|Evet| SEND_OTP[/"POST /auth/otp/send
SMS gönder"/] SEND_OTP --> OTP_PAGE["OTP Doğrulama
6 haneli kod"] OTP_PAGE --> VERIFY[/"POST /auth/otp/verify"/] VERIFY --> VALID{"OTP
doğru?"} end subgraph SESSION["Session Management"] VALID -->|Evet| CREATE["Session oluştur
JWT token"] CREATE --> DASHBOARD["Dashboard
Rol bazlı menü"] DASHBOARD --> END_OK(("Tamam")) end CHECK -->|Hayır| REGISTER["Kayıt Sayfası
Yeni kullanıcı"] VALID -->|Hayır| ERROR["Hata göster
Max 3 deneme"] ERROR --> RETRY{"Tekrar
dene?"} RETRY -->|Evet| OTP_PAGE RETRY -->|Hayır| LOGIN style START fill:#22c55e,stroke:#16a34a,color:#fff style END_OK fill:#22c55e,stroke:#16a34a,color:#fff style LOGIN fill:#ccfbf1,stroke:#0d9488 style OTP_PAGE fill:#ccfbf1,stroke:#0d9488 style DASHBOARD fill:#ccfbf1,stroke:#0d9488 style REGISTER fill:#ccfbf1,stroke:#0d9488 style CHECK fill:#fef3c7,stroke:#d97706 style VALID fill:#fef3c7,stroke:#d97706 style RETRY fill:#fef3c7,stroke:#d97706 style SEND_OTP fill:#fef3c7,stroke:#d97706 style VERIFY fill:#fef3c7,stroke:#d97706 style ERROR fill:#fee2e2,stroke:#ef4444

Notlar

  • E-posta ile giriş YOK (K-001)
  • Şifre sistemi YOK (K-001)
  • Max 3 OTP deneme hakkı, sonra geçici kilitlenme

Admin Hierarchy Flow

K-003

3 katmanli yonetici hiyerarsisi. Super Admin (Platform) → Tenant Admin (Proje) → Editor (Kullanici). Multi-DB izolasyonu ile her tenant ayri veritabaninda.

flowchart TB
    subgraph SUPER["🟣 SUPER ADMIN - System Level"]
        SA_LOGIN(("SA")) --> SA_DASH["Platform Dashboard
Tüm tenant'lar"] SA_DASH --> TENANT_CRUD["Tenant CRUD
Oluştur/Düzenle/Sil"] TENANT_CRUD --> CREATE_TA["Tenant Admin Oluştur"] CREATE_TA --> SYSTEM_DB[("system_db")] end subgraph TENANT["🔵 TENANT ADMIN - Project Level"] TA_LOGIN(("TA")) --> TA_DASH["Tenant Dashboard
Kendi tenant'ı"] TA_DASH --> EDITOR_MGT["Editor Yönetimi"] EDITOR_MGT --> CREATE_ED["Editor Oluştur
Checkbox yetkiler"] CREATE_ED --> ASSIGN_PERM["Yetki Ata
Granüler K-002"] ASSIGN_PERM --> TENANT_DB[("tenant_xxx_db")] end subgraph EDITOR["🟢 EDITOR - User Level"] ED_LOGIN(("E")) --> ED_DASH["Editor Dashboard
Yetki bazlı menü"] ED_DASH --> CHECK_PERM{"Yetki?"} CHECK_PERM -->|Evet| ACCESS["Modüle Eriş"] CHECK_PERM -->|Hayır| DENIED["403 Forbidden"] end CREATE_TA -.->|Davet SMS| TA_LOGIN ASSIGN_PERM -.->|Davet SMS| ED_LOGIN style SA_LOGIN fill:#8b5cf6,stroke:#7c3aed,color:#fff style TA_LOGIN fill:#3b82f6,stroke:#2563eb,color:#fff style ED_LOGIN fill:#0d9488,stroke:#0f766e,color:#fff style SYSTEM_DB fill:#dbeafe,stroke:#2563eb style TENANT_DB fill:#dbeafe,stroke:#2563eb style CHECK_PERM fill:#fef3c7,stroke:#d97706 style DENIED fill:#fee2e2,stroke:#ef4444 style ACCESS fill:#dcfce7,stroke:#22c55e

Veritabanı İzolasyonu

  • system_db: Super Admin, Tenant kayıtları, platform config
  • tenant_xxx_db: Her tenant için ayrı DB
  • Tenant Admin: Diğer tenant'lara erişim YOK
  • Editor: Başka kullanıcı oluşturma yetkisi YOK