Обзор
AdGuard DNS API
AdGuard DNS предоставляет REST API, который вы можете использовать в своих приложениях.
Authentication
Генерация токена доступа
Сделайте POST-запрос с указанными параметрами по следующему URL, чтобы сгенерировать access_token
:
https://api.adguard-dns.io/oapi/v1/oauth_token
Параметр | Описание |
---|---|
имя пользователя | |
пароль | Пароль |
mfa_token | Токен двухфакторной аутентификации (если включена в настройках аккаунта) |
В ответ вы получите access_token
и refresh_token
.
access_token
истекает через несколько секунд (срок указан в параметреexpires_in
). Вы можете запросить новыйaccess_token
, используяrefresh_token
(См.:Генерация токена доступа через продлеваемый токен
).refresh_token
генерируется один раз и затем не изменяется. Чтобы отозватьrefresh_token
, см.:Отзыв продлеваемого токена
.
Пример запроса
$ 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'
Пример ответа
{
"access_token": "jTFho_aymtN20pZR5RRSQAzd81I",
"token_type": "bearer",
"refresh_token": "H3SW6YFJ-tOPe0FQCM1Jd6VnMiA",
"expires_in": 2620978
}
Генерация токена доступа через продлеваемый токен
Токены доступа имеют ограниченное время действия. После истечения этого срока ваше приложение должно использовать продлеваемый токен
для генерации нового токена доступа
.
Сделайте следующий POST-запрос с указанными параметрами, чтобы получить новый токен доступа:
https://api.adguard-dns.io/oapi/v1/oauth_token
Параметр | Описание |
---|---|
refresh_token | Продлеваемый токен , с помощью которого должен быть сгенерирован новый токен доступа. |
Пример запроса
$ 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'
Пример ответа
{
"access_token": "xQnT7GYT6Ag--3oY_EcOOdXe-I0",
"token_type": "bearer",
"refresh_token": "H3SW6YFJ-tOPe0FQCM1Jd6VnMiA",
"expires_in": 2627999
}
Отзыв продлеваемого токена
Чтобы сбросить продлеваемый токен, сделайте следующий POST-запрос с указанными параметрами:
https://api.adguard-dns.io/oapi/v1/revoke_token
Пример запроса
$ curl 'https://api.adguard-dns.com/oapi/v1/revoke_token' -i -X POST \
-d 'token=H3SW6YFJ-tOPe0FQCM1Jd6VnMiA'
Параметр | Описание |
---|---|
refresh_token | Продлеваемый токен , который должен быть сброшен |
Получение доступа к API
После того как токен доступа и продлеваемый токен сгенерированы, получить доступ к API можно, указав токен доступа в заголовке.
- Имя заголовка должно быть
Authorization
- Значение заголовка должно быть
Bearer {access_token}
API
Руководство по API
Перейдите по этой ссылке, чтобы ознакомиться с руководством по методам API.
Спецификация OpenAPI
Спецификация OpenAPI доступна по адресу https://api.adguard-dns.io/static/swagger/openapi.json.
Вы можете использовать другие инструменты для просмотра списка доступных методов API. Например, вы можете открыть этот файл в https://editor.swagger.io/.
Feedback
Если вы хотите расширить этот API, напишите нам по адресу devteam@adguard.com
и расскажите, что вы хотите добавить.