Authorizing OAuth Apps

You can enable organization members to authorize your OAuth app.

Створюючи додаток OAuth, запустіть описаний нижче веб-додаток, щоб отримати код авторизації, а потім обміняйте її на токен.

Запит коду авторизації

Ви повинні перенаправити користувача до кінцевої точки /oauth/authorize з наступними параметрами GET:

GET https://accounts.crowdin.com/oauth/authorize

Це вимагатиме від користувача підтвердження доступу програми до свого облікового запису на основі областей, визначених у REQUESTED_SCOPES, а потім переадресація назад до REDIRECT_URI, яку ви надали під час створення додатку.

Параметри

Ім'я Значення Опис
client_id рядок Обов'язково. Після реєстрації ви отримаєте ідентифікатор клієнта для додатка.
redirect_uri рядок Обов'язково. URL-адреса вашого додатку, куди будуть відправлені користувачі після авторизації.
response_type: code рядок Обов'язково. Параметр використовується для визначення додатка OAuth.
scope рядок Обов'язково. Оберіть зі списку доступних додатків, до яких потрібен доступ вашого додатку. You can add multiple scopes separated by spaces (no need to use quotation marks).
state рядок Неможливість використовувати випадковий рядок. Використовуйте його для додаткового захисту від фальшивих запитів між веб-сайтами.

Буде створена така URL-адреса авторизації:

https://accounts.crowdin.com/oauth/authorize?client_id=m50YenPpqac8u5D4dnK&redirect_uri=https://impact-mobile.com/auth/crowdin&response_type=code&scope=project+tm&state=d131dd02c5e6eec4

Після успішної авторизації користувачі переадресовуються назад на ваш сайт:

https://impact-mobile.com/auth/crowdin/?code=def50200df1fbb5ebac05f9288850d9e...0835bd3cf42&state=d131dd02c5e6eec4

Якщо авторизацію відхилено, користувачі будуть перенаправлені на ваш сайт із помилкою:

https://impact-mobile.com/auth/crowdin/?error=access_denied&state=d131dd02c5e6eec4

Users Are Redirected Back to Your Site by Crowdin Enterprise

Якщо додаток авторизує користувача, Crowdin Enterprise перенаправить його назад на ваш сайт, і ви зможете обміняти отриманий код на маркер доступу:

POST https://accounts.crowdin.com/oauth/token

Параметри

Ім'я Значення Опис
grant_type: authorization_code рядок Обов'язково. Параметр використовується для визначення додатка OAuth.
client_id рядок Обов'язково. Після реєстрації ви отримаєте ідентифікатор клієнта для додатка.
client_secret рядок Обов'язково. Після реєстрації ви отримаєте секретний код клієнта для додатка.
redirect_uri рядок Обов'язково. URL-адреса вашого додатку, куди будуть відправлені користувачі після авторизації.
code рядок Обов'язково. Код, отриманий із рядка запиту зворотного виклику.

Наприклад, згорнутий запит має таку форму:

curl -X POST \ https://accounts.crowdin.com/oauth/token \ -H "content-type: application/json" \ -d "{ \"grant_type\":\"authorization_code\", \"client_id\":\"m50YenPpqac8u5D4dnK\", \"client_secret\":\"yz35kYtjox...YE9Am\", \"redirect_uri\":\"https://impact-mobile.com/auth/crowdin\", \"code\":\"def50200df1fbb5ebac05f9288850d9e...0835bd3cf42\" }"

Відповідь

За замовчуванням відповідь приймає таку форму:

{
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJS...lag1e_Zk4EdJ5diYfz0",
    "token_type":"bearer",
    "expires_in": 7200,
    "refresh_token": "b213c684ccaa7db1217e946e6ad...fff7ae"
}

Виконати запити для API з поверненим токеном доступу

The access token now allows you to make requests to Crowdin Enterprise API on behalf of the authorized user.

Наприклад, в curl ви можете вказати такий заголовок авторизації:

curl -H "Authorization: Bearer ACCESS_TOKEN" https://<organization_domain>.api.crowdin.com/api/v2/projects

Оновлення токена

Токен доступу, отриманий після того, як користувач авторизує додаток, має термін дії. Токен доступу зникне через кілька секунд, зазначених у відповіді.

Щоб оновити токен без перенаправлення користувача, надішліть запит POST на сервер авторизації з такими параметрами тіла:

POST https://accounts.crowdin.com/oauth/token

Параметри

Ім'я Значення Опис
grant_type: refresh_token рядок Обов'язково. Параметр використовується для визначення додатка OAuth.
client_id рядок Обов'язково. Після реєстрації ви отримаєте ідентифікатор клієнта для додатка.
client_secret рядок Обов'язково. Після реєстрації ви отримаєте секретний код клієнта для додатка.
refresh_token рядок Обов'язково. Оновляє токен, отриманий з останньої відповіді авторизації.

Наприклад, згорнутий запит має таку форму:

curl -X POST \ https://accounts.crowdin.com/oauth/token \ -H "content-type: application/json" \ -d "{ \"grant_type\":\"refresh_token\", \"client_id\":\"m50YenPpqac8u5D4dnK\", \"client_secret\":\"yz35kYtjox...YE9Am\", \"refresh_token\":\"b213c684ccaa7db1217e946e6ad...fff7ae\" }"

Відповідь

За замовчуванням відповідь приймає таку форму:

{
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJS...ZjFkMWI4OWFlIiwiaWF",
    "token_type":"bearer",
    "expires_in": 7200,
    "refresh_token": "ea506ea4c37aa152f0a91ed2482...4a0c567"
}

Перенаправлення URL-адреси

You can register one or more redirect URLs when you create an OAuth Application on Crowdin Enterprise.

З міркувань безпеки, якщо URL-адреса не включена до інформації про додаток, ви не зможете перенаправляти користувачів до цієї URL-адреси після авторизації.

Ця стаття була корисною?