Projekt · L02 Hitelesítés és biztonság

CanvasFlow

Adatvédelem-központú tanulmányi irányítópult, amely bármely egyetem Canvas LMS-éhez csatlakozik, titkosítva tartja a hallgatói tokeneket, és azonnal jelzi a változásokat.

Szerep
Full-stack fejlesztő
Időszak
2026. szept. — jelenleg
Stack
  • Next.js
  • React
  • TypeScript
  • Prisma
  • Supabase
  • Auth.js
  • AES-256-GCM
  • Web Push
Linkek

Háttér

Az ELTE és sok más egyetem hallgatói a Canvas LMS-ben élnek, de az értesítései lassúak és szétszórtak. A CanvasFlow nyílt forráskódú vezérlőközpont, amely bármely Canvas-intézménnyel működik.

Amit építettem

  • Több egyetem támogatása. A felhasználók a saját Canvas URL-jüket és személyes hozzáférési tokenjüket csatlakoztatják.
  • Tokenbiztonság. A tokenek AES-256-GCM-mel titkosítva tárolódnak (véletlen 96 bites IV, 128 bites hitelesítési címke), és soha nem jutnak el a böngészőig.
  • Adaptív szinkronizációs motor, amely kiolvassa a Canvas rate-limit fejléceit, 60 és 180 másodperces intervallumok között vált, és HTTP 429 esetén visszalép.
  • Serverless-biztos futás: 40 másodperces időkeret-védelem és automatikusan lejáró zárolások tartják a futásokat a platformkorlátokon belül.
  • Eseményvezérelt Web Push (VAPID) új, feloldott vagy átütemezett feladatokhoz és rögzített jegyekhez, idempotens ütemezéssel.
  • Megerősítés: csúszóablakos rate limiting a hitelesítési útvonalakon, open-redirect elleni védelem és időzítésbiztos titokellenőrzés a cron-endpointokon.

Mérnöki jegyzetek

  • Tesztelve, ahol számít. 51 unit- és integrációs teszt fedi le a tokentitkosítást, a hitelesítés biztonságát, a throttlingot, a félév-felismerést és a feladatprioritást.

Állapot

Nyílt forráskódú (MIT licenc); 2026 szeptembere óta fejlesztés alatt.