Developer Документация

GET /oauth/authorize

Открывает экран, где пилот подтверждает, что ваше приложение может пользоваться его данными в рамках запрошенных прав.

Нюансы

  • Адрес открывают в браузере пилота, а не вызывают с вашего сервера.
  • Если пилот ещё не вошёл в панель — сначала страница входа.
  • Если те же права уже выданы раньше — код вернётся сразу, без повторного экрана.

Параметры

client_id string query

Идентификатор приложения

Обязательный параметр
redirect_uri string query

Должен точно совпадать с одним из зарегистрированных адресов возврата

Обязательный параметр
response_type string query

Только code

Обязательный параметр
scope string query

Права через пробел, например openid profile flights:read

Обязательный параметр
state string query

Произвольная строка — вернётся без изменений

code_challenge string query

BASE64URL(SHA256(code_verifier)), 43–128 символов

Обязательный параметр
code_challenge_method string query

Только S256

Обязательный параметр

Примеры

Пример запроса
GET https://panel.aeronation.ru/oauth/authorize?client_id=YOUR_CLIENT_ID
  &redirect_uri=https%3A%2F%2Fexample.com%2Fcallback
  &response_type=code
  &scope=openid%20profile%20flights%3Aread
  &state=xyz123
  &code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
  &code_challenge_method=S256
Пример ответа
# Успех — HTTP 302 на redirect_uri
Location: https://example.com/callback?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz123

# Отказ пользователя — HTTP 302
Location: https://example.com/callback?error=access_denied&state=xyz123

Ошибки

invalid_client HTTP 400

Неизвестный или отключённый идентификатор приложения

invalid_request HTTP 400

Адрес возврата не совпал, нет PKCE или неверный code_challenge

unsupported_response_type HTTP 302

response_type не равен code (через редирект)

invalid_scope HTTP 302

Неизвестное или незарегистрированное право (через редирект)

access_denied HTTP 302

Пилот нажал «Отклонить» (через редирект)

Пример ошибки
# Неверный client_id / redirect_uri — JSON без редиректа
HTTP/1.1 400 Bad Request
{
  "error": "invalid_client",
  "error_description": "Unknown client"
}