Davet Yaşam Döngüsü ve Token Güvenliği
Kural
Her davet zorunlu geçerlilik-süresi taşır (varsayılan 7 gün; süresiz davet üretilemez). Süre-parametresi yalnız yetkili Control-Plane üzerinden değiştirilebilir ve güvenlik-politikasıyla belirlenmiş SONLU bir aralık içinde kalır (exact min/max NFR/configuration-contract'ta belirlenir; fiilen-süresiz değer aralık-dışıdır). Politika-değişikliği ileriye-dönüktür: mevcut davetleri sessizce uzatmaz — davetin expires_at değeri üretim anında materialize edilir ve yalnız açık cancel/resend/supersede işlemiyle değişir. Süre-parametresi değişikliği audit edilir. Davet-token'ı tek kullanımlıktır. Expired/cancelled davet kabul edilemez. Resend yeni token üretir ve eskisini geçersizleştirir. Davet edilen kimlik ile kabul eden kimlik uyuşmuyorsa (identity-mismatch) sistem güvenli akış ister; sessiz otomatik-bağlama yapılmaz. Token-enumeration/brute-force denemeleri rate-limit edilir.
Sonuç-durum adları (expired/cancelled/accepted vb.) normatif semantik sonuç sınıflarıdır; fiziksel enum/API adları değildir.
Gerekçe
Davet-token'ı fiilen bir erişim-kapısı anahtarıdır. Süresiz, çok-kullanımlı veya tahmin-edilebilir token; hesap ele geçirme ve yetkisiz üyelik üretiminin en kısa yoludur.
Test edilebilir hükümler
- Süresi geçmiş davetin kabul denemesi RED döner.
- Kullanılmış token ile ikinci kabul denemesi RED döner ve ikinci membership üretmez.
- Resend sonrası eski token RED döner; yalnız yeni token geçerlidir.
- Davet edilen kimlikten farklı bir hesapla kabul denemesi otomatik-üyelik üretmez; güvenli-akış (açık kullanıcı-kararı) tetiklenir.
- Ardışık geçersiz-token denemeleri rate-limit'e takılır (deneme-sayısı sınırı doğrulanabilir).
- Geçerlilik-süresi yalnız yetkili Control-Plane'den değişir; aralık-dışı veya "süresiz" değer RED döner.
- Süre-politikası değişikliği sonrası mevcut davetin
expires_atdeğeri değişmemiştir (prospective-effect testi); değişiklik audit-izi bırakır.
Kapsam
Davet üretim + kabul + iptal + resend akışlarının tamamı. Kapsanan UC'ler: UC-13/UC-25 (devralınan, CAN-REQ-UCG-005) + UC-OAM-005/006 arayüzü. Duplicate/çelişki-kontrolü: CAN-REQ-RULE-011.