認証

Octopart API は、client_credentials グラントを使用する OAuth 2.0 を採用しています。これは、ユーザーのログインを必要としないマシン間通信フローです。アプリケーションは Client ID と Client Secret を短期間有効なアクセストークンと引き換え、そのトークンをすべての API リクエストに含めます。

認証情報の取得

認証情報は開発者ポータルで管理します。

  1. portal.nexar.com にサインインします。

  2. アプリケーションを開きます(または新規作成します)。

  3. Client ID と Client Secret をコピーします。

Your Client Secret is shown once at creation time.紛失した場合は、新しく生成する必要があります。ポータルでは再表示できません。

アクセストークンのリクエスト

認証情報を使用して、トークンエンドポイントに 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"

パラメーター

値

grant_type

client_credentials

client_id

アプリケーションの Client ID

client_secret

アプリケーションの Client Secret

scope

supply.domain

成功した場合のレスポンス:

{
  "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 フローにはリフレッシュトークンはありません。新しいトークンを取得するには、Client ID と Client Secret を使ってトークンリクエストを再度実行するだけです。

一般的なパターンとしては、起動時に新しいトークンをリクエストし、その後 401 レスポンスを受信するたびに再度リクエストします。

Client Secret のローテーション

Client Secret が漏えいした場合、またはセキュリティ対策としてローテーションしたい場合:

  1. portal.nexar.com のアプリケーション画面に移動します。

  2. 新しい Client Secret を生成します。

  3. アプリケーションを新しいシークレットで更新します。

  4. 既存のトークンは有効期限が切れるまで有効なままなので、すぐに影響はありません。

Do not embed credentials in client-side code or public repositories. Client Secret はパスワードと同様に扱ってください。

 

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Content