Ana içeriğe geç

Sahip ayarlarında white-label seçenekleri

Bir dağıtımın yapılandırma (appsettings/env) aracılığıyla ayarlayabileceği her white-label seçeneği, uygulama sahibi tarafından çalışma zamanında da ayarlanabilir, Settings → Deployment'tan, yeniden dağıtım olmadan. Bir sahip geçersiz kılması yapılandırmayı yener; onu temizlemek seçeneği dağıtımın yapılandırılmış (veya yerleşik varsayılan) değerine döndürür.

Bu, bir white-label dağıtımının ürünü nasıl yapılandırdığını yansıtır — aynı düğmeler, aynı etki — böylece bir operatör markalamayı, kapıları ve politikayı canlı ayarlayabilir ve sonucu hemen görebilir.

Nerede yaşar​

  • UI: ayarlar iletişim kutusundaki yalnızca-sahip Deployment bölümü ve derin-bağlanabilir sayfa /settings/deployment. Seçenekler kategori başına bir sekmeye gruplandırılır (Markalama, Tema, Özellikler, Kayıt, Hesaplar, E-posta, AI, Open API, Prop firm), mobil-öncelikli, masaüstünde pencereli bir iletişim kutusu ve telefonlarda tam-ekran bir yüzeyle.
  • API: /api/whitelabel (yalnızca-sahip, asla özellik-kapılı değil):
    • GET /api/whitelabel — her seçenek etkin değeriyle, kaynağıyla (Config / Owner / Default) ve bir geçersiz kılmanın ayarlanıp ayarlanmadığıyla. Sırlar maskelenir (değer asla döndürülmez).
    • PUT /api/whitelabel/{key} { "value": "…" } — bir geçersiz kılma ayarla (seçenek türüne göre doğrulanmış). Bir sır üzerindeki boş değer mevcut sırrı korur.
    • DELETE /api/whitelabel/{key} — bir geçersiz kılmayı temizle (yapılandırmaya dön).
    • POST /api/whitelabel/reset — tüm geçersiz kılmaları temizle (dağıtımı saf yapılandırmaya döndür).

Geçersiz kılmalar nasıl etkili olur​

Sahip geçersiz kılmaları, gereken yerde şifrelenmiş AppSetting satırları olarak saklanır ve dekore edilmiş bir IOptionsMonitor<AppOptions> tarafından bağlı AppOptions'ın üzerine katmanlanır. Her tüketici zaten o monitör aracılığıyla seçenekleri okuduğundan, bir geçersiz kılma tüm uygulamada canlı uygulanır — tema, sayfa başlığı, MFA kapısı, AI-sağlayıcı kapıları, broker izin-listesi, kayıt politikası, e-posta taşıma ayarları vb. bir sonraki okumada güncellenir (tema/markalama hemen yeniden oluşturulur). Veritabanı kısa süre kullanılamazsa, katman yapılandırılmış temele açık başarısız olur, böylece bir geçersiz kılma okuması uygulamayı asla bozamaz.

Özellik bayrakları aynı yüzeyin parçasıdır ancak mevcut özellik-geçersiz-kılma deposu (IFeatureGate) aracılığıyla kalıcılaştırılır, böylece Features sekmesi ve bağımsız özellik anahtarları asla ayrışmaz.

Sırlar (SMTP parolası, CAPTCHA sırrı, sağlama sırrı) durağan hâlde şifrelenir (ISecretProtector, amaç whitelabel.secret), UI'da yalnızca-yazılır ve API tarafından asla döndürülmez.

Devredilen seçenekler​

Paylaşılan Open API uygulaması kimlik bilgileri ve mesaj-türü başına hız limitleri, Open API ayarlar bölümünde yönetilir (kopya-işlem / Open API belgelerine bakın). Deployment kataloğunda devredilmiş girişler olarak görünürler (burada salt-okunur, bir bağlantıyla), böylece hiçbir şey çoğaltılmaz ve senk. garantisi onları hâlâ kapsanmış sayar.

Her zaman senkronize (zorunlu)​

Yapılandırmaya yeni bir white-label seçeneği eklemek, onu aynı işlemde sahip ayarlarında yüzeye çıkarmalıdır. Bu, WhiteLabelCatalogParityTests tarafından zorunlu kılınır: her white-label seçenek-kaydı özelliği üzerinde yansıtır ve özellik Core/WhiteLabel/WhiteLabelCatalog'ta kayıtlı olmadıkça (veya bir nedenle IntentionallyExcluded'da açıkça listelenmedikçe) derlemeyi başarısız kılar. CLAUDE.md'deki 10. yönergeye bakın.

Notlar​

  • Hiç e-posta yapılandırılmamış başlayan bir dağıtımda SMTP'yi etkinleştirmek yeniden başlatma gerektirir (gönderici türü başlangıçta seçilir); zaten yapılandırılmış bir göndericinin host/kimlik bilgileri canlı güncellenir.
  • Seçenek etiketleri/açıklamaları, veri olarak gösterilen teknik yapılandırma-düğmesi tanımlayıcılarıdır; sekme etiketleri ve tüm etkileşimli çerçeve tamamen yerelleştirilmiştir.