ორი token მარტივ სასიცოცხლო ციკლს მიჰყვება: ხანმოკლე access token ავტორიზებას აძლევს ყოველ API გამოძახებას, ხოლო ხანგრძლივი refresh token ჩუმად ჭრის ახალ access token-ებს მათი ვადის ამოწურვისას — ასე მომხმარებელი რჩება შესული ავტორიზაციის მონაცემების ხელახლა შეყვანის გარეშე.
პროცესი
┌─────────┐ . login (user + pass) ┌────────────┐
│ Client │ ────────────────────────▶ │ Auth server│
│ │ ◀──── access + refresh ─── │ │
└─────────┘ └────────────┘
│ . API გამოძახება: Authorization: Bearer <access>
▼
┌────────────┐ ხელმოწერის + exp-ის შემოწმება (DB-ში ძებნის გარეშე)
│ Resource │ ──── OK ────▶ (access ჯერ კიდევ ვალიდურია)
│ API │ ──── ───────▶ (access ვადაგასულია)
└────────────┘
│ . -ის შემთხვევაში: POST /token { refresh }
▼
┌────────────┐ შემოწმება + როტაცია
│ Auth server│ ──── ახალი access (+ ახალი refresh) ────▶ გამოძახების ხელახლა ცდა
└────────────┘
