Autoryzacja
Interfejs API Octopart używa OAuth 2.0 z grantem client_credentials — przepływem machine-to-machine, który nie wymaga logowania użytkownika. Twoja aplikacja wymienia Client ID i Client Secret na krótkotrwały token dostępu, a następnie dołącza ten token do każdego żądania API.
Uzyskanie poświadczeń
Poświadczeniami zarządza się w portalu deweloperskim:
-
Zaloguj się do portal.nexar.com.
-
Otwórz swoją aplikację (lub utwórz nową).
-
Skopiuj Client ID i Client Secret.
Żądanie tokenu dostępu
Wyślij żądanie POST do punktu końcowego tokenu wraz ze swoimi poświadczeniami:
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"
Parametr |
Wartość |
|
|
|
Client ID Twojej aplikacji |
|
Client Secret Twojej aplikacji |
|
|
Pomyślna odpowiedź:
{
"access_token": "eyJhbGci...",
"expires_in": 86400,
"token_type": "Bearer"
}
Użycie tokenu
Dołącz token dostępu w nagłówku Authorization każdego żądania GraphQL:
Authorization: Bearer ACCESS_TOKEN
Przykład:
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 } }" }'
Żądania bez prawidłowego tokenu lub z tokenem, którego ważność wygasła, zwrócą odpowiedź HTTP 401 Unauthorized.
Wygaśnięcie tokenu
Tokeny wygasają po 24 hours (expires_in: 86400). Twoja aplikacja powinna śledzić czas wygaśnięcia i zażądać nowego tokenu przed wygaśnięciem bieżącego. W przepływie client_credentials nie ma tokenu odświeżania — po prostu ponów żądanie tokenu, używając swojego Client ID i Client Secret, aby uzyskać nowy.
Często stosowanym wzorcem jest żądanie nowego tokenu przy uruchomieniu oraz ponownie za każdym razem, gdy zostanie odebrana odpowiedź 401.
Rotacja Client Secret
Jeśli Twój Client Secret został ujawniony lub chcesz go rotować w ramach praktyk bezpieczeństwa:
-
Przejdź do swojej aplikacji w portal.nexar.com.
-
Wygeneruj nowy Client Secret.
-
Zaktualizuj swoją aplikację, używając nowego sekretu.
-
Istniejące tokeny pozostają ważne do momentu wygaśnięcia — bez natychmiastowych zakłóceń.