|
Bogdan Timofte
authored
4 days ago
|
1
|
# Auth and Login Development Log
|
|
|
2
|
|
|
|
3
|
Decizii despre autentificare, OTP, sesiuni, formulare si compatibilitate cu password managere/autofill.
|
|
|
4
|
|
|
Bogdan Timofte
authored
4 days ago
|
5
|
## 2026-06-09 - Verificare sesiune inainte de fluxuri cu save
|
|
|
6
|
|
|
|
7
|
Regula de development: orice operatie UI care poate ajunge la `save`/`submit` trebuie sa verifice starea de autentificare inainte ca operatorul sa inceapa editarea si din nou imediat inainte de salvare. Aceeasi regula se aplica la schimbarea taburilor/sectiunilor, pentru ca navigarea poate declansa incarcari sau actiuni protejate.
|
|
|
8
|
|
|
|
9
|
Comportamentul asteptat:
|
|
|
10
|
|
|
|
11
|
- daca sesiunea este valida, fluxul continua normal
|
|
|
12
|
- daca sesiunea lipseste sau a expirat, aplicatia revine coerent la login
|
|
|
13
|
- datele deja introduse intr-un formular nu trebuie resetate doar pentru ca autentificarea a expirat inainte de save
|
|
|
14
|
|
|
|
15
|
Scop:
|
|
|
16
|
|
|
|
17
|
- evitarea pierderii modificarilor locale din formulare
|
|
|
18
|
- separarea clara intre erori de validare si sesiune expirata
|
|
|
19
|
- evitarea operatiunilor partiale pe endpoint-uri protejate
|
|
|
20
|
|
|
Bogdan Timofte
authored
4 days ago
|
21
|
## 2026-06-06 - OTP Login Keeps a Password-Manager-Friendly Form Shape
|
|
|
22
|
|
|
|
23
|
Observatie: unele password managere si autofill-uri mobile nu initiau corect pe login-ul Madagascar Local Authority, desi completarea mergea pe o pagina similara din PBX management.
|
|
|
24
|
|
|
|
25
|
Diferente relevante observate pe pagina care functiona:
|
|
|
26
|
|
|
|
27
|
- formular clasic `method="post"`
|
|
|
28
|
- camp de cont cu `autocomplete="username"`
|
|
|
29
|
- camp unic pentru codul OTP, separat de cele 6 casute vizuale
|
|
|
30
|
|
|
|
31
|
Decizie:
|
|
|
32
|
|
|
|
33
|
- UI-ul ramane cu 6 casute OTP
|
|
|
34
|
- formularul include si campuri ajutatoare off-screen pentru `username` si OTP agregat
|
|
|
35
|
- JS sincronizeaza codul complet intre campul agregat si cele 6 casute
|
|
|
36
|
- formularul pastreaza `autocomplete="on"` la nivel de form, ca hint-urile specifice de pe campuri sa nu fie neutralizate
|
|
|
37
|
|
|
|
38
|
Scop:
|
|
|
39
|
|
|
|
40
|
- compatibilitate mai buna cu password managere si autofill mobil
|
|
|
41
|
- fara a complica interfata vizibila
|