Авторизация
API Octopart использует OAuth 2.0 с грантом client_credentials — это поток «машина-машина», который не требует входа пользователя в систему. Ваше приложение обменивает Client ID и Client Secret на кратковременный токен доступа, а затем включает этот токен в каждый API-запрос.
Получение учетных данных
Учетные данные управляются в портале разработчика:
-
Войдите в portal.nexar.com.
-
Откройте свое приложение (или создайте новое).
-
Скопируйте Client ID и Client Secret.
Запрос токена доступа
Отправьте POST-запрос на endpoint токена с вашими учетными данными:
curl -X POST https://identity.nexar.com/connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=CLIENT_ID" \
-d "client_secret=CLIENT_SECRET" \
-d "scope=supply.domain"
Параметр |
Значение |
|
|
|
Client ID вашего приложения |
|
Client Secret вашего приложения |
|
|
Успешный ответ:
{
"access_token": "eyJhbGci...",
"expires_in": 86400,
"token_type": "Bearer"
}
Использование токена
Включайте токен доступа в заголовок Authorization каждого GraphQL-запроса:
Authorization: Bearer ACCESS_TOKEN
Пример:
curl -X POST https://api.nexar.com/graphql \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "query": "{ supSearchMpn(q: \"LM358\", limit: 1) { hits } }" }'
Запросы без действительного токена или с истекшим токеном будут возвращать ответ HTTP 401 Unauthorized.
Срок действия токена
Срок действия токенов истекает через 24 hours (expires_in: 86400). Ваше приложение должно отслеживать время истечения срока действия и запрашивать новый токен до того, как истечет текущий. В потоке client_credentials нет refresh token — просто повторите запрос токена, используя ваши Client ID и Client Secret, чтобы получить новый.
Распространенный шаблон — запрашивать новый токен при запуске и затем каждый раз, когда получен ответ 401.
Ротация Client Secret
Если ваш Client Secret скомпрометирован или вы хотите выполнить его ротацию в рамках практики безопасности:
-
Перейдите к своему приложению в portal.nexar.com.
-
Сгенерируйте новый Client Secret.
-
Обновите свое приложение, указав новый секрет.
-
Существующие токены остаются действительными до истечения их срока действия — никаких немедленных сбоев не будет.