Authorizing OAuth Apps

Ви можете надати користувачам можливість увійти в додаток OAuth.

Створюючи додаток 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 рядок Обов'язково. Оберіть зі списку доступних додатків, до яких потрібен доступ вашого додатку. Ви можете додати кілька областей, розділених комами (не потрібно використовувати лапки).
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

Користувачі переадресовуються з Crowdin на ваш сайт

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

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 з поверненим токеном доступу

Маркер доступу дозволяє робити запити до Crowdin API від імені уповноваженого користувача.

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

curl -H "Authorization: Bearer ACCESS_TOKEN" https://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-адреси

Ви можете зареєструвати одну або кілька URL-адрес для перенаправлення під час створення додатку OAuth на Crowdin.

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

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