Ana içeriğe geç

POST /oauth2/token — Refresh Token

📋 Genel Bilgi

Süresi dolmuş access token yerine refresh token kullanarak yeni bir access/refresh token çifti alınır.

Base URL: {{url}}/oauth2/token Method: POST Content-Type: application/json


🔐 Headers

HeaderValue
Content-Typeapplication/json

📥 Request Body

{
"grant_type": "refresh_token",
"refresh_token": "{{masked_jwt_2}}"
}

Parametreler

AlanTipAçıklamaÖrnek
grant_typestringGrant türü (sabit: refresh_token)"refresh_token"
refresh_tokenstringMevcut refresh token-

✅ Response — 200 OK

{
"access_token": "{{masked_jwt_6}}",
"refresh_token": "{{masked_jwt_3}}",
"expires_in": 7200,
"refresh_expires_in": 14400,
"token_type": "bearer"
}

Response Alanları

AlanTipAçıklama
access_tokenstringYeni JWT access token (2 saat geçerli)
refresh_tokenstringYeni JWT refresh token (4 saat geçerli)
expires_inintegerAccess token süresi (saniye)
refresh_expires_inintegerRefresh token süresi (saniye)
token_typestringToken türü (bearer)

❌ Error Responses

Tüm hata yanıtları aşağıdaki formatta döner:

{
"Response": {
"code": 2008,
"description": "Refresh token is missing"
},
"Success": false
}
HTTPcodeEnumdescriptionNe Zaman Oluşur
4002008AuthMissingRefreshTokenRefresh token is missingrefresh_token boş gönderildi, ya da gönderilen token'a karşılık gelen aktif bir session bulunamadı (DB'de kayıtlı ama artık geçerli olmayan bir token)
4012007AuthInvalidCredentialsInvalid credentialsRefresh token'a bağlı jti bulundu ama bu token'ı oluşturan developer artık bulunamadı

Örnek — 400 Missing / Invalid Refresh Token

{
"Response": {
"code": 2008,
"description": "Refresh token is missing"
},
"Success": false
}

Örnek — 401 Invalid Credentials

{
"Response": {
"code": 2007,
"description": "Invalid credentials"
},
"Success": false
}

📝 Notlar

  • Refresh token kullanıldıktan sonra eski refresh token geçersiz olur.
  • Her refresh'te yeni bir refresh token döner.
  • Refresh token süresi dolduğunda tekrar password grant ile giriş yapılmalıdır.