Ana içeriğe atla

Genel Bakış

AdGuard DNS, uygulamalarınızı entegre etmek için kullanabileceğiniz bir REST API sağlar.

Kimlik Doğrulama

Erişim belirteci oluştur

Make a POST request for the following URL with the given params to generate the access_token:

https://api.adguard-dns.io/oapi/v1/oauth_token

ParametreAçıklama
kullanıcı adıHesap e-postası
parolaHesap parolası
mfa_tokenİki Faktörlü kimlik doğrulama belirteci (hesap ayarlarında etkinleştirilmişse)

Yanıt olarak hem access_token hem de refresh_token alırsınız.

  • access_token süresi belirli bir saniye sonra dolar (yanıttaki expires_in parametresiyle temsil edilir). refresh_token kullanarak yeni bir access_token oluşturabilirsiniz (Bakınız: Yenileme Belirtecinden Erişim Belirteci Oluşturma).

  • refresh_token kalıcıdır. To revoke a refresh_token, refer: Revoking a Refresh Token.

Örnek istek

$ curl 'https://api.adguard-dns.io/oapi/v1/oauth_token' -i -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=user%40adguard.com' \
-d 'password=********' \
-d 'mfa_token=727810'

Örnek yanıt

{
"access_token": "jTFho_aymtN20pZR5RRSQAzd81I",
"token_type": "bearer",
"refresh_token": "H3SW6YFJ-tOPe0FQCM1Jd6VnMiA",
"expires_in": 2620978
}

Yenileme Belirtecinden Erişim Belirteci Oluşturma

Erişim belirteçlerinin geçerliliği sınırlıdır. Süresi dolduğunda, uygulamanız yeni bir refresh token talep etmek için access token kullanması gerekecektir.

Make the following POST request with the given params to get a new access token:

https://api.adguard-dns.io/oapi/v1/oauth_token

ParametreAçıklama
refresh_tokenREFRESH TOKEN kullanılarak yeni bir erişim belirteci oluşturulmalıdır.

Örnek istek

$ curl 'https://api.adguard-dns.io/oapi/v1/oauth_token' -i -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'refresh_token=H3SW6YFJ-tOPe0FQCM1Jd6VnMiA'

Örnek yanıt

{
"access_token": "xQnT7GYT6Ag--3oY_EcOOdXe-I0",
"token_type": "bearer",
"refresh_token": "H3SW6YFJ-tOPe0FQCM1Jd6VnMiA",
"expires_in": 2627999
}

Revoking a Refresh Token

To revoke a refresh token, make the following POST request with the given params:

https://api.adguard-dns.io/oapi/v1/revoke_token

İstek Örneği

$ curl 'https://api.adguard-dns.com/oapi/v1/revoke_token' -i -X POST \
-d 'token=H3SW6YFJ-tOPe0FQCM1Jd6VnMiA'
ParametreAçıklama
refresh_tokenREFRESH TOKEN which is to be revoked

Yetkilendirme uç noktası

Bu uç noktaya erişmek için devteam@adguard.com adresinden bizimle iletişime geçmeniz gerekir. Lütfen bu uç noktanın sebebini, kullanım durumlarını açıklayın ve yönlendirme URI'sini sağlayın. Onaylandıktan sonra, client_id parametresi için kullanılması gereken benzersiz bir i̇stemci tanımlayıcısı alırsınız.

oapi/v1/oauth_authorize uç noktası, kaynak sahibiyle etkileşime geçmek ve korunan kaynağa erişim yetkisi almak için kullanılır.

Hizmet, kimlik doğrulaması için sizi AdGuard'a yönlendirir (henüz giriş yapmadıysanız) ve ardından uygulamanıza geri döner.

oapi/v1/oauth_authorize uç noktasının istek parametreleri şunlardır:

ParametreAçıklama
response_typeYetkilendirme sunucusuna hangi iznin yürütüleceğini söyler
client_idYetkilendirme isteyen OAuth istemcisinin kimliği
redirect_uriBir URL içerir. Bu uç noktadan gelen başarılı bir yanıt, bu URL'ye yönlendirme yapar
stateGüvenlik amacıyla kullanılan opak bir değer. If this request parameter is set in the request, it is returned to the application as part of the redirect_uri
aidOrtaklık tanımlayıcısı

Örneğin:

https://api.adguard-dns.io/oapi/v1/oauth_authorize?response_type=token&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&state=1jbmuc0m9WTr1T6dOO82

Yetkilendirme sunucusuna hangi izn türünün kullanılacağını bildirmek için response_type istek parametresi aşağıdaki gibi kullanılır:

  • Örtülü izin için, bir erişim belirteci eklemek üzere Response_type=token kullanın.

A successful response is 302 Found, which triggers a redirect to redirect_uri (which is a request parameter). The response parameters are embedded in the fragment component (the part after #) of the redirect_uri parameter in the Location header.

Örneğin:

HTTP/1.1 302 Found
Location: REDIRECT_URI#access_token=...&token_type=Bearer&expires_in=3600&state=1jbmuc0m9WTr1T6dOO82

API'ye erişim

Erişim ve yenileme belirteçleri oluşturulduktan sonra, başlıktaki erişim belirtecini geçirilerek API çağrıları yapılabilir.

  • Başlık adı Authorization olmalıdır
  • Başlık değeri Bearer {access_token} olmalıdır

API

Referans

Lütfen referans yöntemlerine buradan bakın.

OpenAPI özellikleri

OpenAPI specification is available at https://api.adguard-dns.io/static/swagger/openapi.json.

Kullanılabilir API yöntemlerinin listesini görüntülemek için farklı araçlar kullanabilirsiniz. Örneğin, bu dosyayı https://editor.swagger.io/ adresinde açabilirsiniz.

Değişiklik günlüğü

The complete AdGuard DNS API changelog is available on this page.

Geri Bildirim

Bu API'nin yeni yöntemlerle genişletilmesini istiyorsanız, lütfen devteam@adguard.com adresine e-posta gönderin ve nelerin eklenmesini istediğinizi bize bildirin.