Към съдържанието
Sursa Developers

POST/oauth/token

Издаване на OAuth 2.0 токен

oauth_token

Крайната точка за издаване на токени на OAuth 2.0 (RFC 6749, раздел 3.2). grant_type: authorization_code обменя еднократен код за двойка токени и изисква code_verifier (PKCE S256); refresh_token издава нова двойка срещу токен за опресняване и обезсилва предишния токен за опресняване (ротация), а повторното използване на обезсилен токен анулира цялата верига; client_credentials издава токен от името на организацията, само за приложение confidential, без токен за опресняване. Клиент confidential се удостоверява със заглавката Authorization: Basic или с полетата client_id и client_secret; публичният клиент изпраща само client_id. Токенът за достъп е валиден 1 час, а токенът за опресняване – 90 дни. Отговорите и грешките следват RFC 6749, раздел 5, с Cache-Control: no-store. Добавено във версия 1.62.0.

Удостоверяване

Не са нужни идентификационни данни.

Тяло на заявката

application/x-www-form-urlencoded

Обект: OAuthTokenRequest

  • grant_typestringзадължително

    Допустими стойности: authorization_coderefresh_tokenclient_credentials

  • codestring

    Код за оторизация (authorization_code).

  • redirect_uristring

    Същият URI за пренасочване като в заявката за оторизация (authorization_code).

  • code_verifierstring

    Оригиналната стойност на PKCE, от 43 до 128 знака (authorization_code).

  • refresh_tokenstring

    Опресняване (refresh_token).

  • scopestring

    Обхвати, разделени с интервал, само за стесняване (refresh_token, client_credentials).

  • client_idstring

    ID на приложението, когато тайната не се подава в заглавката Authorization: Basic.

  • client_secretstring

    Тайна на клиента на приложение confidential, когато не се подава в заглавката Authorization: Basic.

Отговори

200Токените са издадени.

Заглавки на отговора

  • RateLimit-Policy

    Действащите лимити във формата на черновата на IETF draft-ietf-httpapi-ratelimit-headers: разделени със запетая елементи "<name>";q=<quota>;w=<window in seconds>. key е честотата на заявките на API ключа (квотата е пиковото натоварване, прозорецът е времето за пълното ѝ възстановяване; за сесия е user, без идентификационни данни – ip); minute, day и month са квотите на организацията за календарната минута, ден и месец по UTC.

  • RateLimit

    Какво остава от всеки лимит в RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Лимитът на най-строгия запис в RateLimit-Policy (този с най-малко оставащи заявки).

  • X-RateLimit-Remaining

    Оставащи заявки по най-строгия лимит.

  • X-RateLimit-Reset

    Секунди до нулирането на най-строгия лимит.

application/json

Обект: OAuthTokenResponse

  • access_tokenstringзадължително

    Токен за достъп (kbat_…) за заглавката Authorization: Bearer.

  • token_typestringзадължително

    Допустими стойности: Bearer

  • expires_inintegerзадължително

    Срок на валидност на токена за достъп в секунди.

  • refresh_tokenstring

    Токен за опресняване (kbrt_…); липсва при client credentials.

  • scopestringзадължително

    Обхвати на токена, разделени с интервал.

400Грешка съгласно RFC 6749, раздел 5.2.

Заглавки на отговора

  • RateLimit-Policy

    Действащите лимити във формата на черновата на IETF draft-ietf-httpapi-ratelimit-headers: разделени със запетая елементи "<name>";q=<quota>;w=<window in seconds>. key е честотата на заявките на API ключа (квотата е пиковото натоварване, прозорецът е времето за пълното ѝ възстановяване; за сесия е user, без идентификационни данни – ip); minute, day и month са квотите на организацията за календарната минута, ден и месец по UTC.

  • RateLimit

    Какво остава от всеки лимит в RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Лимитът на най-строгия запис в RateLimit-Policy (този с най-малко оставащи заявки).

  • X-RateLimit-Remaining

    Оставащи заявки по най-строгия лимит.

  • X-RateLimit-Reset

    Секунди до нулирането на най-строгия лимит.

401Невалидни идентификационни данни на клиента (`invalid_client`).

Заглавки на отговора

  • RateLimit-Policy

    Действащите лимити във формата на черновата на IETF draft-ietf-httpapi-ratelimit-headers: разделени със запетая елементи "<name>";q=<quota>;w=<window in seconds>. key е честотата на заявките на API ключа (квотата е пиковото натоварване, прозорецът е времето за пълното ѝ възстановяване; за сесия е user, без идентификационни данни – ip); minute, day и month са квотите на организацията за календарната минута, ден и месец по UTC.

  • RateLimit

    Какво остава от всеки лимит в RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Лимитът на най-строгия запис в RateLimit-Policy (този с най-малко оставащи заявки).

  • X-RateLimit-Remaining

    Оставащи заявки по най-строгия лимит.

  • X-RateLimit-Reset

    Секунди до нулирането на най-строгия лимит.

Безопасни повторни опити

Изпращайте заглавката Idempotency-Key (например UUID) с всяка заявка POST и PATCH. Повторен опит със същия ключ в рамките на 24 часа връща запазения отговор, вместо да изпълни заявката отново.

Лимити на честотата

Отговорите съдържат заглавките RateLimit и RateLimit-Policy, както и по-ранните X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Отговорът 429 съдържа Retry-After в секунди: изчакайте и опитайте отново.

← oauth · Справочник на API