Du token'ai laikosi paprasto gyvavimo ciklo: trumpalaikis access token autorizuoja kiekvieną API iškvietimą, o ilgalaikis refresh token tyliai kaldina naujus access token'us, kai jie baigiasi — tad vartotojas lieka prisijungęs neįvedinėdamas kredencialų iš naujo.
Srautas
┌─────────┐ . login (user + pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access + refresh ─── │ │
└─────────┘ └────────────┘
│ . API škvietimas: Authorization: Bearer <access>
▼
┌────────────┐ tikrinti parašą + exp (be DB užklausos)
│ Resource │ ──── OK ────▶ (access dar galioja)
│ API │ ──── ───────▶ (access baigėsi)
└────────────┘
│ . gavus : POST /token { refresh }
▼
┌────────────┐ tikrinti + rotuoti
│ Auth server│ ──── naujas access (+ naujas refresh) ────▶ kartoti škvietimą
└────────────┘
