권한 부여
Octopart API는 client_credentials grant를 사용하는 OAuth 2.0을 사용합니다. 이는 사용자가 로그인할 필요가 없는 머신 간(machine-to-machine) 흐름입니다. 애플리케이션은 Client ID와 Client Secret을 짧은 수명의 액세스 토큰으로 교환한 다음, 모든 API 요청에 해당 토큰을 포함합니다.
자격 증명 가져오기
자격 증명은 개발자 포털에서 관리됩니다:
-
portal.nexar.com에 로그인합니다.
-
애플리케이션을 열거나(또는 새로 생성하거나) 합니다.
-
Client ID 및 Client Secret를 복사합니다.
액세스 토큰 요청하기
자격 증명과 함께 토큰 엔드포인트로 POST 요청을 전송합니다:
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"
}
토큰 사용하기
모든 GraphQL 요청의 Authorization 헤더에 액세스 토큰을 포함합니다:
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을 생성합니다.
-
애플리케이션을 새 secret으로 업데이트합니다.
-
기존 토큰은 만료될 때까지 계속 유효하므로 즉각적인 중단은 없습니다.