બે tokens એક સરળ lifecycle ને અનુસરે છે: એક short-lived access token દરેક API call ને authorize કરે છે, અને એક long-lived refresh token તેઓ expire થાય ત્યારે ચૂપચાપ નવા access tokens બનાવે છે — તેથી user credentials ફરી નાખ્યા વગર logged in રહે છે.
પ્રવાહ (flow)
┌─────────┐ 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
└────────────┘
