Auth Session Cache
Bu sayfa, session:{sid} key ailesinin Qapu içindeki işletim sözleşmesini tanımlar.
Bu key ailesi, JWT access token doğrulaması sonrası session aktiflik kontrolü, revoke yönetimi ve auth_version karşılaştırması için kullanılır.
Key Pattern
session:{sid}
Örnek:
session:sess_abc123
Redis DB Alanı
- Önerilen DB:
0 - Gerekçe: auth doğrulama hot-path'te çalışır, düşük gecikmeli erişim gerekir.
Owner Service
- Primary writer: API Servisi / Auth modülü
- Primary readers: API Servisi, internal gateway, gerekirse service-to-service auth middleware
- Secondary writer: logout / revoke / security automation job'ları
Authoritative Source
- Authoritative source: DB üzerindeki session veya auth state kaydı varsa o katman, aksi durumda session yaşam döngüsünün kanonik runtime kopyası
- Redis rolü: aktif session state ve hızlı revoke kontrol katmanı
Kanonik Yapı
{
"user_id": 123,
"status": "active",
"auth_version": 7,
"created_at": "2026-04-16T12:00:00Z",
"expire_at": "2026-04-16T13:00:00Z"
}
Read / Write Paths
Read Path
- JWT doğrulanır.
siddeğeri çözülür.session:{sid}Redis'ten okunur.- Session yoksa veya pasifse token reddedilir.
auth_versioneskiyse refresh veya reject uygulanır.
Write Path
- Login başarılı olur.
- Session oluşturulur.
session:{sid}key'i Redis'e yazılır.- Logout veya revoke durumunda key silinir ya da status pasif yapılır.
TTL ve Invalidation
- TTL: access token ömrü kadar veya biraz uzun
- Öneri:
1haccess token için1h - 2h
Invalidation tetikleri:
- logout
- force logout
- session expire
- user block / delete
auth_versionyükselmesi
Failure ve Drift Senaryoları
Senaryo A: Session key yok
- Beklenen davranış: token reddedilir
- Etki: login yenileme gerekir
Senaryo B: Session var ama auth_version stale
- Beklenen davranış: reject veya refresh zorlanır
- Etki: eski yetki bağlamı ile işlem yapılması önlenir
Senaryo C: Redis down
- Beklenen davranış: güvenlik moduna göre fail-closed tercih edilir
- Etki: doğrulama sertleşir, servis erişimi geçici kısıtlanabilir
Rebuild ve Recovery
Bu key tam rebuild odaklı değil, session yaşam döngüsü odaklıdır. Key kaybolursa kullanıcı yeniden login olur veya refresh akışı çalışır.
Gözlemlenebilirlik Metrikleri
auth_session_hit_ratioauth_session_miss_totalauth_session_revoke_totalauth_session_stale_version_totalauth_session_expired_total
Çapraz Referanslar
/projects/qapu/services/api/jwt-auth-flow/projects/qapu/services/redis/keyspace/user-auth-context/projects/qapu/services/redis/keyspace/device-user-authz