Kimlik Doğrulama
Yöntem
JWT (JSON Web Token), Authorization: Bearer <token> başlığıyla taşınır.
Uygulama çerez tabanlı oturum kullanmaz.
Kaynak: backend/src/middlewares/auth.middleware.ts, backend/src/utils/jwt.util.ts
Giriş
Method: POST Endpoint: /login (ve /api/v1/login)
Authentication: Gerekmez. Uç loginRateLimiter ile korunur.
Purpose: Kullanıcı kimliğini doğrular ve bir JWT üretir.
Source: backend/src/routers/auth.routes.ts, controllers/auth.controller.ts
Notlar
- Parola karşılaştırması
bcryptjsile yapılır. JWT_SECRETtanımlı değilse giriş 500 ile yanıtlanır (koda gizli varsayılan anahtar gömülmemiştir).- Token ömrü
JWT_EXPIRES_INdeğişkeninden gelir. - Başarılı/başarısız girişler
platform-logskoleksiyonuna denetim kaydı olarak yazılır; ham istek gövdesi asla kaydedilmez.
Doğrulama middleware'i
authenticate sırasıyla şunları yapar:
Authorizationbaşlığı yoksa veya boşsa → 401"Yetkilendirme bilgisi bulunamadı."- Şema
Bearerdeğilse veya token boşsa → 401"Geçersiz yetkilendirme biçimi." verifyAuthToken(token)başarılıysa çözülmüş yükreq.useralanına yazılır.- Doğrulama hatası merkezî hata middleware'ine devredilir.
Rol denetimi
authorizeRoles(...allowedRoles) bir middleware fabrikasıdır;
authenticate sonrasında kullanılır. Rol eşleşmezse 403
"Bu işlem için yetkiniz yok." döner.
Mevcut kullanım
authorizeRoles yardımcı olarak tanımlıdır. Router dosyalarında bugün
korumalı uçlar yalnızca authenticate ile korunmaktadır.
Korumalı uçlar
authenticate kullanan uçlar: POST /create-api-doc,
PUT /update-api-doc/:id, GET /api-docs-list, DELETE /delete-api-doc/:id,
GET /getUser, POST /platform/files/upload, POST /fileAddd.