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 <Полученный токен>