GitFlic API
Получение Access Token
1. Авторизация
Для авторизации отправить get-запрос по адресу:
1) для SaaS https://oauth.gitflic.ru/oauth/authorize
2) для self-hosted localhost:8080/oauth/authorize
Запрос принимает 4 обязательных параметра: scope, client_id(clientId), redirect_url(redirectUrl), state
Параметр | Тип | Описание |
---|---|---|
scope |
Enum | Список предоставляемых прав(scope’ов) |
client_id или clientId |
String | ID клиента, который можно получить в личном кабинете в настройках |
redirect_url или redirectUrl |
String | URL на который будет перенаправлен после запроса |
state |
String | Параметр, идентифицирующий конечного пользователя |
Типы scope
Scope | Описание |
---|---|
USER_READ |
Просмотр информации о пользователе |
USER_WRITE |
Редактирование профиля пользователя |
PROJECT_READ |
Просмотр информации о проектах пользователя |
PROJECT_WRITE |
Создание проектов от лица пользователя |
PROJECT_EDIT |
Редактирование существующих проектов пользователя |
Пример запроса:
https://oauth.gitflic.ru/oauth/authorize?scope=USER_READ,USER_WRITE,PROJECT_READ,PROJECT_WRITE,PROJECT_EDIT&client_id=973d8a-c4-427c-83ee-f29ba163bb53&redirect_url=https://example.org/&state=12345
2. Получение JSON на обратный вызов авторизации
На URL обратного вызова авторизации, указанный в личном кабинете, посылается JSON-объект следующей структуры:
Поле | Тип | Описание |
---|---|---|
code |
String | Персональный код |
state |
String | Параметр, идентифицирующий конечного пользователя |
3. Получение Access Token
Для получение access token отправить get-запрос по адресу https://oauth.gitflic.ru/api/token/access
Запрос принимает один обязательный параметр: code
- это персональный код
В ответ придёт JSON-объект следующей структуры:
Поле | Тип | Описание |
---|---|---|
accessToken |
String | Токен для доступа к API |
refreshToken |
String | Токен для получения нового accessToken |
expires |
String | Дата истечения срока accessToken |
Пример запроса:
https://oauth.gitflic.ru/api/token/access?code=e462eb8c-f812-4458-b55c-d12cba0cb852
Пример получаемоего JSON-объекта:
{
"accessToken": "868f3765-b22g-4a0b-b363-13faw8a3ca68",
"refreshToken": "cb4917e7-5c18-4914-876d-9bb604b42e0c",
"expires": "2023-01-12T15:45:01.961001"
}
Теперь мы можем использовать API, вставляя полученный токен в headers нашего запроса:
Authorization: token <Полученный токен>