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— space-delimited список 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’а авторизації.