Kimlik Doğrulama (Güvenlik)
Token
- Algoritma ve imzalama
jsonwebtoken(^9.0.2) ile yapılır. JWT_SECRETtanı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_INile yapılandırılır. - Token
Authorization: Bearerbaş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.