refresh_token’ı kullanarak yeni bir çift (access + refresh) alabilirsiniz. Refresh token’lar 30 gün geçerlidir.
Ne zaman yenilemeli?
- Bir API çağrısı
401 Unauthorizedile dönerse token’ı yenileyip isteği bir kez tekrarlayın. - Proaktif yenileme için
expires_indeğerini saklayın ve süre dolmadan kısa süre önce (ör. 1 saat önce) yenileyin. refresh_token30 gün geçerlidir; bu süre dolduktan sonra kullanıcıyı yeniden yetkilendirmeniz gerekir.
İstek
Her zaman
refresh_token.Daha önce aldığınız geçerli refresh token.
OAuth uygulamanızın
client_id değeri.OAuth uygulamanızın
client_secret değeri. PKCE ile oluşturulmuş public client’lar bu alanı göndermez.Opsiyonel. Orijinal yetkilendirmedeki scope’ların bir alt kümesi olabilir. Gönderilmezse orijinal scope’lar korunur. Yeni scope talep etmek için kullanıcıyı tekrar yetkilendirme akışına sokmanız gerekir.
Yanıt
Otomatik yenileme kalıbı
HTTP istemcinizi, 401 yanıtında token’ı yenileyip isteği bir kez tekrarlayacak şekilde sarmalamak iyi bir örüntüdür:Hata yanıtları
| HTTP | error | Sebep |
|---|---|---|
| 400 | invalid_grant | Refresh token geçersiz, süresi dolmuş veya iptal edilmiş. Kullanıcıyı yeniden yetkilendirmelisiniz. |
| 401 | invalid_client | client_id/client_secret hatalı. |
| 400 | invalid_scope | Orijinal yetkilendirmede olmayan bir scope talep ettiniz. |
Güvenlik notları
- Refresh token’ları server-side saklayın; tarayıcı localStorage’ına yazmayın.
- Mümkünse kullanıcı başına şifrelenmiş saklama kullanın.
- Bir refresh token yenileme sırasında yenisi dönerse eskiyi kullanmaya devam etmeyin; eski token muhtemelen iptal edilmiştir.
- Kullanıcı panelden uygulamanıza verdiği yetkiyi kaldırırsa tüm token’lar anında geçersiz olur.