Ви можете надати користувачам можливість увійти в додаток OAuth.
Створюючи додаток OAuth, запустіть описаний нижче веб-додаток, щоб отримати код авторизації, а потім обміняйте її на токен.
Ви повинні перенаправити користувача до кінцевої точки /oauth/authorize з наступними параметрами GET:
Це вимагатиме від користувача підтвердження доступу програми до свого облікового запису на основі областей, визначених у 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-адреса авторизації:
Після успішної авторизації користувачі переадресовуються назад на ваш сайт:
Якщо авторизацію відхилено, користувачі будуть перенаправлені на ваш сайт із помилкою:
Якщо додаток авторизує користувача, Crowdin перенаправить його назад на ваш сайт, і ви зможете обміняти отриманий код на маркер доступу:
Ім'я | Значення | Опис |
---|---|---|
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"
}
Маркер доступу дозволяє робити запити до Crowdin API від імені уповноваженого користувача.
Наприклад, в curl ви можете вказати такий заголовок авторизації:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://api.crowdin.com/api/v2/projects
Токен доступу, отриманий після того, як користувач авторизує додаток, має термін дії. Токен доступу зникне через кілька секунд, зазначених у відповіді.
Щоб оновити токен без перенаправлення користувача, надішліть запит POST на сервер авторизації з такими параметрами тіла:
Ім'я | Значення | Опис |
---|---|---|
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-адрес для перенаправлення під час створення додатку OAuth на Crowdin.
З міркувань безпеки, якщо URL-адреса не включена до інформації про додаток, ви не зможете перенаправляти користувачів до цієї URL-адреси після авторизації.