یہ دونوں tokens ایک سادہ زندگی کے چکر کی پیروی کرتے ہیں: ایک مختصر مدت access token ہر API کال کو اختیار دیتا ہے، اور ایک طویل مدت refresh token خاموشی سے نئے access tokens بناتا ہے جب وہ ختم ہو جاتے ہیں — تاکہ صارف credentials دوبارہ ڈالے بغیر login رہے۔
بہاؤ
┌─────────┐ . login (user + pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access + refresh ─── │ │
└─────────┘ └────────────┘
│ . API کال: Authorization: Bearer <access>
▼
┌────────────┐ signature + exp تصدیق کریں (کوئی DB lookup نہیں)
│ Resource │ ──── OK ────▶ (access اب بھی درست)
│ API │ ──── ───────▶ (access ختم ہو گیا)
└────────────┘
│ . پر: POST /token { refresh }
▼
┌────────────┐ تصدیق + گھمائیں
│ Auth server│ ──── نیا access (+ نیا refresh) ────▶ کال دوبارہ کریں
└────────────┘
