Cele două token-uri urmează un ciclu de viață simplu: un token de acces cu durată scurtă autorizează fiecare apel API, iar un token de reîmprospătare cu durată lungă creează în tăcere token-uri de acces noi când acestea expiră — astfel utilizatorul rămâne autentificat fără a reintroduce credențialele.
Fluxul
┌─────────┐ login ( pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access refresh ─── │ │
└─────────┘ └────────────┘
│ apel API: : Bearer access
▼
┌────────────┐ verifică semnătura (fără căutare în DB)
│ Resource │ ──── OK ────▶ (access încă valid)
│ API │ ──── ───────▶ (access expirat)
└────────────┘
│ la : POST token { refresh }
▼
┌────────────┐ verifică rotește
│ Auth server│ ──── access nou ( refresh nou) ────▶ reia apelul
└────────────┘
