GitFlic API


Получение токена доступа accessToken

Авторизация

Для авторизации отправьте GET-запрос по адресу:

  • для SaaS:
 https://oauth.gitflic.ru/oauth/authorize
  • для Self-hosted:
 localhost:8080/oauth/authorize

Запрос принимает 4 обязательных параметра:

Параметр Тип Описание
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

Получение JSON на обратный вызов авторизации

На URL обратного вызова авторизации redirect_url посылается JSON-объект следующей структуры:

Поле Тип Описание
code String Персональный код
state String Параметр, идентифицирующий конечного пользователя

Получение токена

Для получения непосредственно accessToken отправьте GET-запрос:

https://oauth.gitflic.ru/api/token/access?code=<code>

code - это персональный код из предыдущего пункта

Пример запроса:

https://oauth.gitflic.ru/api/token/access?code=e462eb8c-f812-4458-b55c-d12cba0cb852

В ответе вы получите JSON-объект следующей структуры:

Поле Тип Описание
accessToken String Токен доступа к API
refreshToken String Токен для получения нового accessToken
expires String Дата истечения срока accessToken

Пример получаемоего JSON-объекта:

{
    "accessToken": "868f3765-b22g-4a0b-b363-13faw8a3ca68",
    "refreshToken": "cb4917e7-5c18-4914-876d-9bb604b42e0c",
    "expires": "2023-01-12T15:45:01.961001"
}

Теперь вы можете использовать API, вставляя полученный токен в headers нашего запроса:

Authorization: token <accessToken>


Обновление токена доступа accessToken через refreshToken

Полученный вами accessToken потеряет актуальность в момент времени, указанный в поле expires. Для того, чтобы получить новый accessToken, используйте токен, указанный в поле refreshToken.

  • Отправьте POST-запрос:
https://oauth.gitflic.ru/api/token/refresh
  • В тело запроса просто поместите ваш refreshToken.

Ответ будет аналогичным тому, что и при первом получении accessToken.