Пређите на садржај
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

    Број секунди до ресетовања најстрожег ограничења.

Безбедни поновни покушаји

Уз сваки POST и PATCH захтев пошаљите заглавље Idempotency-Key (на пример UUID). Поновни покушај са истим кључем у року од 24 сата враћа сачувани одговор уместо да поново изврши захтев.

Ограничења учесталости

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

← oauth · API референца