I due token seguono un ciclo di vita semplice: un access token di breve durata autorizza ogni chiamata API, e un refresh token di lunga durata conia silenziosamente nuovi access token quando scadono — così l'utente resta loggato senza reinserire le credenziali.
Il flusso
┌─────────┐ login ( pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access refresh ─── │ │
└─────────┘ └────────────┘
│ chiamata API: : Bearer access
▼
┌────────────┐ verifica firma (nessuna lookup DB)
│ Resource │ ──── OK ────▶ (access ancora valido)
│ API │ ──── ───────▶ (access scaduto)
└────────────┘
│ su : POST token { refresh }
▼
┌────────────┐ verifica rotazione
│ Auth server│ ──── nuovo access ( nuovo refresh) ────▶ riprova la chiamata
└────────────┘
