Proje: OkulUp API · Hub: OkulUp API — Conventions
OkulUp API — API Authentication Pattern
Sanctum Token-Based Auth
Laravel Sanctum v4 ile Bearer token kullanılır. Cookie-based session YOK, tamamen stateless.
Token Yaşam Döngüsü
register/login → createToken(device_name) → plainTextToken döner
refresh-token → currentToken silinir, yeni token oluşturulur
logout → currentAccessToken()->delete()
Device Name
Token oluştururken device_name isteğe bağlı parametre. Default: 'api-token'.
Mobil istemciler cihaz adını gönderir (ör: “iPhone 15”).
/me Response
{
"user": { ...UserResource },
"permissions": { "dashboard_teacher": true, "assignments_submit": false, ... }
}Parent rolündeyse children ilişkisi de load edilir.
Seeder Kullanıcıları (Test/Demo)
- Email pattern:
demo.*@okul.com.trveya<rol>@okul.com.tr - Şifre:
password - Örnek:
admin@okul.com.tr,teacher@okul.com.tr,parent@okul.com.tr
Middleware Stack (Auth Sonrası)
auth:sanctum → throttle:api → [feature:xxx (opsiyonel)]
Global middleware (tüm API):
SecurityHeaders— güvenlik header’ları eklerSanitizeInput— XSS temizliğiLogApiRequests— her request’i loglar (başarılı: info, 4xx: warning, 5xx: error)
LogApiRequests
Sensitive fields (password, token vb.) loglanmadan önce *** ile maskelenir.
Response time duration_ms olarak loglanır.
KVKK — Hesap Silme
DELETE /account → password confirm + soft delete + tüm tokenlar silindi.
Related
- api-kod-konvansiyonlari — controller patterns
- rol-ve-yetki-mimarisi — role-based permissions