Kedua token mengikuti siklus hidup sederhana: access token berumur pendek mengotorisasi setiap panggilan API, dan refresh token berumur panjang secara diam-diam mencetak access token baru saat kedaluwarsa — jadi pengguna tetap login tanpa memasukkan kredensial lagi.
Alurnya
┌─────────┐ login ( pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access refresh ─── │ │
└─────────┘ └────────────┘
│ panggilan API: : Bearer access
▼
┌────────────┐ verifikasi signature (tanpa lookup DB)
│ Resource │ ──── OK ────▶ (access masih valid)
│ API │ ──── ───────▶ (access kedaluwarsa)
└────────────┘
│ saat : POST token { refresh }
▼
┌────────────┐ verifikasi rotasi
│ Auth server│ ──── access baru ( refresh baru) ────▶ ulangi panggilan
└────────────┘
