Ana içeriğe geç

Kimlik Doğrulama (Güvenlik)

Token

  • Algoritma ve imzalama jsonwebtoken (^9.0.2) ile yapılır.
  • JWT_SECRET tanımlı değilse giriş 500 ile yanıtlanır. Koda gizli bir varsayılan anahtar gömülmemiştir — bu bilinçli bir tercihtir.
  • Token ömrü JWT_EXPIRES_IN ile yapılandırılır.
  • Token Authorization: Bearer başlığıyla taşınır; çerez kullanılmaz.

Parola

Parolalar bcryptjs ile karşılaştırılır. Düz metin parola loglanmaz, denetim kaydına yazılmaz ve hata mesajlarına konmaz.

Hız sınırı

POST /login loginRateLimiter (express-rate-limit ^7.5.0) ile korunur. LLM uçları için ayrı sınır değişkenleri vardır: NOTES_LLM_RATE_LIMIT_MAX, NOTES_LLM_RATE_LIMIT_WINDOW_MS.

Hız sınırının doğru çalışması istemci IP'sinin taklit edilememesine bağlıdır; bu yüzden trust proxy varsayılan olarak false'tur.

Arayüz tarafı kilitleme

dashboard/src/components/hooks/useLoginLockout.tsx art arda başarısız giriş denemelerinde arayüzde kilitleme uygular. Bu, sunucu tarafı hız sınırının yerine geçmez; ek bir kullanıcı deneyimi katmanıdır.