Dasko
ce624fdc87
feat(2fa): rezervni (jednokratni) kodovi za 2FA
Alternativa TOTP-u kada uređaj nije dostupan. Po specifikaciji:
10 kodova pri aktivaciji, čuvani kao bcrypt heš.
Backend:
- migracija 039 (tabela rezervni_kodovi, FK CASCADE)
- auth.GenerisiRezervneKodove (Crockford base32, XXXX-XXXX) + NormalizujRezervniKod
- RezervniKodoviRepository (Zameni/Iskoristi/BrojPreostalih/Obrisi) + SQLite impl
- žičenje u Handler (+ reinicijalizuj)
Prijava:
- VerifikujTotp prvo proba TOTP, pa rezervni kod (isto polje); kod je jednokratni
- totp_provera.html: input opušten (slova/crtica), napomena o rezervnom kodu
Profil:
- aktivacija generiše i prikazuje kodove JEDNOM; dugme Regeneriši; brojač preostalo X/10
- deaktivacija briše kodove
Testovi: auth (generisanje/format/normalizacija), repo (jednokratnost/regeneracija),
prijava rezervnim kodom end-to-end. Ukupno 36 test funkcija.
2026-06-12 23:44:09 +02:00
..
2026-06-09 00:55:15 +02:00
2026-06-01 23:21:14 +02:00
2026-06-09 00:55:15 +02:00
2026-06-12 22:53:15 +02:00
2026-06-12 22:53:15 +02:00
2026-06-01 02:49:46 +02:00
2026-06-08 19:29:17 +02:00
2026-06-12 22:07:32 +02:00
2026-06-12 19:26:46 +02:00
2026-06-04 20:14:03 +02:00
2026-06-08 19:29:17 +02:00
2026-06-12 22:33:42 +02:00
2026-06-01 23:21:14 +02:00
2026-06-01 01:16:37 +02:00
2026-06-06 17:47:52 +02:00
2026-06-03 21:38:16 +02:00
2026-06-12 00:43:58 +02:00
2026-06-12 23:44:09 +02:00
2026-06-12 23:44:09 +02:00
2026-06-12 00:43:58 +02:00
2026-06-08 19:29:17 +02:00
2026-06-02 22:29:53 +02:00
2026-06-02 00:15:30 +02:00