Docs
Dokümanlarda ara...⌘K

OAuth kılavuzu

Tüm API çağrıları yetkilendirme gerektirir ve yetkilendirilmiş bir Ahrefs kullanıcısı adına yapılır. Bunu yapmak için uygulamanızın o kullanıcı için bir API erişim belirteci alması gerekir.

Ahrefs Connect, PKCE (Kod Değişimi için Kanıt Anahtarı) ile OAuth 2.0 Yetkilendirme Kodu Akışı kullanır. Süreç iki ana adımdan oluşur:

1. Uygulamayı yetkilendirin

Kullanıcıyı şuraya yönlendirin:

https://app.ahrefs.com/web/oauth/authorize?response_type=code&client_id={client_id}&scope=apiv3-integration-apps&redirect_uri={redirect_uri}&code_challenge={code_challenge}&code_challenge_method=s256&state={state}

Parametreler:

  • {client_id} : Hesap ayarlarınız içindeki Ahrefs Connect bölümünden URL kodlamalı İstemci Kimliği.
  • {redirect_uri} : Aynı bölümde kaydettiğiniz URL kodlamalı Yönlendirme URI'si.
  • {code_challenge} : S256 yöntemi kullanılarak bir kod doğrulayıcıdan türetilir:
    • Bir kod doğrulayıcı oluşturun — kriptografik olarak güvenli bir üreticiyle 43–128 karakterlik rastgele bir dize. İzin verilen karakterler: [A-Z] [a-z] [0-9] - . _ ~ (bkz. RFC7636 Bölüm 4.1).
    • Kod doğrulayıcının SHA-256 hash'ini hesaplayın.
    • Hash'i Base64-URL ile kodlayın.
    • Bu kodlanmış değeri code_challenge olarak kullanın (bkz. RFC7636 Bölüm 4.2).
  • {state} : İstek ile geri çağrı arasında durumu korumak için opak bir değer üretin. Yetkilendirme sunucusu, kullanıcıyı uygulamanıza geri yönlendirirken bu değeri ekleyecektir. (bkz. RFC6749 Bölüm 4.1.1)

Kullanıcı deneyimi:

  1. Kullanıcı, Ahrefs yetkilendirme onay ekranını görür.
  2. Ahrefs API’sine kendi adlarına erişebilmesi için uygulamanıza izin verirler.
  3. Ahrefs, onları şunlarla birlikte Redirect URI’nize yönlendirir:
    • code parametresi — 2. Adımda kullanılır
    • state parametresi — özgün isteğinizle eşleştiğini doğrulayın.

2. access_token değerini alın

code değerini access_token ile değiştirmek için https://ahrefs.com/oauth/token adresine bir POST isteği gönderin.

application/x-www-form-urlencoded biçimini kullanarak istek gövdesine parametreleri gönderin (bkz. RFC6749 Bölüm 4.1.3):

  • grant_type: authorization_code
  • client_id: {client_id} (1. Adımdakiyle aynı olmalıdır)
  • redirect_uri: {redirect_uri} (1. Adımdakiyle aynı olmalıdır)
  • code: {code} (1. Adımdan)
  • code_verifier: {original_code_verifier} (1. Adımdaki dönüştürülmemiş değer)
  • client_secret: {client_secret} (Yalnızca web uygulamaları — Hesap ayarları içindeki Ahrefs Connect bölümünüzde bulunur. Masaüstü uygulamaları için eklemeyin.)

Yanıt örneği:

{
    "access_token": "\<API isteklerinde kullanılacak belirteç>",
    "expires_in": \<access_token'ın saniye cinsinden geçerlilik süresi>,
    "token_type": "Bearer",
    "scope": "apiv3-integration-apps"
}

Belirteç kullanım süresi ve yeniden bağlanma

  • Yenileme belirteçleri verilmez.
  • Erişim belirteçleri 1 yıl boyunca geçerlidir. Süresi dolduktan sonra kullanıcı, OAuth üzerinden yeniden bağlanmalıdır (yeniden yetkilendirmelidir).

info

Güvenlik notu:

  • Asla access_token değerini son kullanıcılara, yetkilendirme sırasında veya sonrasında (UI, günlükler, URL'ler ya da istemci tarafı kod) açığa çıkarmayın.
  • Web uygulamaları için client_secret değerini yalnızca sunucu tarafında saklayın.
  • Onay süreci kapsamında güvenli belirteç kullanımını göstermeniz gerekir.