認証

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

認証情報の取得

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

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

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

  3. Client IDClient 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 キーを押してフィードバックをお送りください。
コンテンツ