Uygulamalar mağazalara OAuth 2.0 yetkilendirme kodu (authorization code) akışıyla bağlanır. PKCE (S256) desteklenir ve önerilir.
- 1
Mağaza sahibini izin ekranına yönlendirin
state değerini oturumda saklayın; geri dönüşte karşılaştırın (CSRF koruması).
- 2
Mağaza sahibi izinleri görür ve onaylar
İzin ekranında istenen her scope açıklamasıyla listelenir. Onayla uygulama kurulur.
- 3
Kodu anahtarla değiştirin
Kod tek kullanımlıktır ve 10 dakika geçerlidir. İstek sunucudan sunucuya yapılmalıdır.
1. Yetkilendirme adresi
https://panel.dznsoft.com/oauth/authorize
?client_id=dzn_ci_xxxxxxxxxxxxxxxxxxxxxxxx
&redirect_uri=https://uygulamaniz.com/oauth/callback
&scope=products.read orders.read
&state=RASTGELE_TEK_KULLANIMLIK_DEGER
&code_challenge=BASE64URL_SHA256_VERIFIER
&code_challenge_method=S256
2. Geri dönüş
https://uygulamaniz.com/oauth/callback?code=AbC123...&state=RASTGELE_TEK_KULLANIMLIK_DEGER&store_id=812
3. Token isteği — POST https://api.dznsoft.com/oauth/token
curl -X POST "https://api.dznsoft.com/oauth/token" \
-u "$DZN_CLIENT_ID:$DZN_CLIENT_SECRET" \
-d grant_type=authorization_code \
-d code="$CODE" \
-d redirect_uri="https://uygulamaniz.com/oauth/callback" \
-d code_verifier="$CODE_VERIFIER"
Yanıt
{
"token_type": "Bearer",
"access_token": "dzn_at_…",
"expires_in": 3600,
"refresh_token": "dzn_rt_…",
"scope": "products.read orders.read",
"store_id": 812
}
Yenileme: Erişim anahtarının süresi dolunca grant_type=refresh_token ile yenileyin. Yenileme anahtarı tek kullanımlıktır (rotation): her yenilemede yeni bir çift gelir. Kullanılmış bir yenileme anahtarı tekrar gönderilirse bu sızıntı sayılır ve aynı yetkilendirmeden türeyen tüm anahtarlar iptal edilir.
Anahtar yenileme
curl -X POST "https://api.dznsoft.com/oauth/token" \
-u "$DZN_CLIENT_ID:$DZN_CLIENT_SECRET" \
-d grant_type=refresh_token \
-d refresh_token="$DZN_REFRESH_TOKEN"
İptal: POST https://api.dznsoft.com/oauth/revoke gövdesinde token ile erişim ya da yenileme anahtarını iptal edin (RFC 7009).