Перейти к основному содержимому

API Сервиса авторизации

MethodURIОписание
POST/oauth/tokenПолучение токена доступа (access_token) для авторизации в API

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

POST /oauth/token

Описание метода

Метод предназначен для получения токена доступа (access_token), который используется для авторизации всех последующих запросов к API Brainysoft. Токен выдается на основе учетных данных ClientApp (client_id и client_secret), созданного в сервисе авторизации.

Предварительные требования.

Важно - перед использованием метода необходимо выполнить следующие шаги:

  1. Создать нового пользователя в сервисе авторизации:
    • Обязательно в разделе "Авторизация" добавить GrantType client_credentials.
    • Переключатель "ClientApp активно" должен быть включен.
  2. Сохранить учетные данные:
    • После создания ClientApp сохранить client_id (логин) и client_secret (пароль).
    • Эти данные отображаются только один раз в уведомлении после создания.

Параметры можно передавать двумя способами:

  1. Query Parameters (в URL).
  2. Body (в теле запроса, Content-Type: application/x-www-form-urlencoded).
ПараметрТипОбязательныйОписание
grant_typestringДаТип авторизации. Должен быть client_credentials
client_idstringДаИдентификатор клиента (логин, полученный при создании ClientApp).
client_secretstringДаСекретный ключ клиента (пароль, полученный при создании ClientApp).

Пример 1: cURL, Query Parameters

curl --location --request POST 'https://{customer-key}-auth.brainysoft.ru/oauth/token?grant_type=client_credentials&client_id=f81f7fb9-****-****-****-*********&client_secret=6jsHY5********************'

Пример 2: cURL, Body

curl -X POST "https://{customer-key}-auth.brainysoft.ru/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=f81f7fb9-****-****-****-*********" \
-d "client_secret=6jsHY5********************"

Примечание:

  • Используйте значения client_id и client_secret, полученные при создании ClientApp.
  • Замените {customer-key} на реальный customer-key.

Пример ответа:

{
"access_token": "....", // Токен доступа.
"token_type": "Bearer", // Тип токена.
"expires_in": 299, // Время жизни токена в секундах. 299 секунд = 5 минут.
"scope": "core_basic admin:read admin:write account:read account:write account:pswrd account:totp
admin_1:read admin_1:write", // Список разрешений (scopes), предоставленных токену. Разделены пробелами.
"sessid": "d7222674-bc8a-4db9-aa44-a9206cada8df" // Идентификатор сессии.
}

Важно:

  • Сохраните access_token — он понадобится для всех последующих запросов к API.
  • Используйте токен в заголовке: Authorization: Bearer {access_token}.
  • Токен действителен только в течение времени, указанного в expires_in.
  • После истечения срока действия токена необходимо получить новый токен.