Access token необходим для авторизации последующих API-запросов в LMS Smart Way. После получения токена вы передаёте его в заголовке Authorization с типом Bearer и используете для обращения к доступным endpoint’ам в соответствии со scope, которые вложены в токен.
Эта статья показывает, как получить токен, что именно возвращает API в ответе и на что обратить внимание перед интеграцией. Если вы только начинаете настройку интеграции, сначала убедитесь, что у вас есть действительный company_api_key.
Предпосылки
-
У вас должен быть действительный
company_api_keyвашей компании. -
Запрос на получение токена необходимо выполнять на endpoint
/api/v1/auth/token. -
API key передаётся в заголовке
X-API-Key. -
Полученный access token используется только для последующих вызовов API и не заменяет собой API key.
Запрос
curl -X POST 'https://smartway.pro/api/v1/auth/token' \
-H 'X-API-Key: <company_api_key>'
Успешный ответ
{
"access_token": "<short_lived_jwt>",
"token_type": "Bearer",
"expires_in": 900,
"scope": "academy.read academy.write employees.read employees.write tests.read tests.write files.read"
}
Зафиксированные правила ответа
-
access_token— короткоживущий JWT для последующих вызовов public API -
token_type— всегдаBearer -
expires_in— TTL в секундах -
scope— список scope-ов, разделённых пробелами, вложенных в токен
Что внутри access token
-
JWT содержит claim
companyIdдля tenant isolation. -
JWT также содержит claim
hrEmail— emailHRADMIN, который создал или ротировал текущий активный API key компании. -
Если API key сгенерирует или ротирует другой
HRADMIN, то новые токены уже будут содержать другойhrEmail, и именно он будет использоваться для последующих employee write-операций.
Как использовать access token в последующих запросах
После успешного получения токена передавайте его в заголовке Authorization в формате Bearer <access_token>. Именно этот токен используется для авторизации последующих запросов к public API.
Перед выполнением запроса проверяйте, что токен ещё не истёк. Если срок действия завершился, получите новый access token повторным вызовом endpoint’а авторизации.