Les deux tokens suivent un cycle de vie simple : un access token à courte durée de vie autorise chaque appel API, et un refresh token à longue durée de vie fabrique silencieusement de nouveaux access tokens à leur expiration — ainsi l'utilisateur reste connecté sans ressaisir ses identifiants.
Le flux
┌─────────┐ login ( pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access refresh ─── │ │
└─────────┘ └────────────┘
│ API : : Bearer access
▼
┌────────────┐ verify signature ( DB lookup)
│ Resource │ ──── OK ────▶ (access still valid)
│ API │ ──── ───────▶ (access expired)
└────────────┘
│ : POST token { refresh }
▼
┌────────────┐ verify rotate
│ Auth server│ ──── access ( refresh) ────▶ retry the
└────────────┘
