API Сервиса авторизации
| Method | URI | Описание |
|---|---|---|
| POST | /oauth/token | Получение токена доступа (access_token) для авторизации в API |
Получение токена доступа
POST /oauth/token
Описание метода
Метод предназначен для получения токена доступа (access_token), который используется для авторизации всех последующих запросов к API Brainysoft. Токен выдается на основе учетных данных ClientApp (client_id и client_secret), созданного в сервисе авторизации.
Предварительные требования.
Важно - перед использованием метода необходимо выполнить следующие шаги:
- Создать нового пользователя в сервисе авторизации:
- Обязательно в разделе "Авторизация" добавить GrantType
client_credentials.- Переключатель "ClientApp активно" должен быть включен.
- Сохранить учетные данные:
- После создания ClientApp сохранить
client_id(логин) иclient_secret(пароль).- Эти данные отображаются только один раз в уведомлении после создания.
Параметры можно передавать двумя способами:
- Query Parameters (в URL).
- Body (в теле запроса,
Content-Type: application/x-www-form-urlencoded).
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
grant_type | string | Да | Тип авторизации. Должен быть client_credentials |
client_id | string | Да | Идентификатор клиента (логин, полученный при создании ClientApp). |
client_secret | string | Да | Секретный ключ клиента (пароль, полученный при создании 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.- После истечения срока действия токена необходимо получить новый токен.