Layihə · L02 Autentifikasiya və Təhlükəsizlik
CanvasFlow
İstənilən universitetin Canvas LMS-inə qoşulan, tələbə tokenlərini şifrəli saxlayan və dəyişiklikləri baş verən kimi göndərən, məxfiliyi önə çəkən akademik panel.
- Rol
- Full-stack developer
- Dövr
- sen 2026 — indi
- Stack
-
- Next.js
- React
- TypeScript
- Prisma
- Supabase
- Auth.js
- AES-256-GCM
- Web Push
Kontekst
ELTE-də və bir çox digər universitetdə tələbələr Canvas LMS-də yaşayır, amma onun bildirişləri gec və dağınıqdır. CanvasFlow istənilən Canvas institutu ilə işləyən açıq mənbəli idarəetmə mərkəzidir.
Nə qurdum
- Çoxuniversitetli dəstək. İstifadəçilər öz Canvas URL-lərini və şəxsi giriş tokenlərini qoşur.
- Token təhlükəsizliyi. Tokenlər AES-256-GCM ilə (təsadüfi 96-bit IV, 128-bit autentifikasiya teqləri) şifrələnmiş saxlanılır və heç vaxt brauzerə çatmır.
- Adaptiv sinxronizasiya mühərriki — Canvas rate-limit başlıqlarını oxuyur, 60 və 180 saniyəlik intervallar arasında keçir, HTTP 429-da geri çəkilir.
- Serverless üçün təhlükəsiz icra: 40 saniyəlik vaxt büdcəsi qoruyucusu və avtomatik bitən kilidlər icranı platforma limitləri daxilində saxlayır.
- Hadisəyə əsaslanan Web Push (VAPID) — yeni, açılmış və ya vaxtı dəyişdirilmiş tapşırıqlar və qiymətlər üçün, idempotent planlaşdırma ilə.
- Möhkəmləndirmə: autentifikasiya route-larında sliding-window rate limiting, open-redirect qorunması və cron endpoint-lərində timing-safe sirr yoxlaması.
Mühəndislik qeydləri
- Vacib yerlərdə test. 51 unit və inteqrasiya testi token şifrələməsini, autentifikasiya təhlükəsizliyini, throttling-i, semestr təhlilini və tapşırıq prioritetini əhatə edir.
Status
MIT lisenziyası ilə açıq mənbəlidir; 2026-cı ilin sentyabrından inkişafdadır.