> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentwallex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 認証

> APIキーまたはJWTトークンを使用してAgentWallex APIで認証する方法。

## 認証方式

AgentWallexは2つの認証方式をサポートしています：

| 方式          | ヘッダー                           | ユースケース                    |
| ----------- | ------------------------------ | ------------------------- |
| APIキー       | `X-API-Key: awx_...`           | SDKおよびサーバー間統合             |
| JWTベアラートークン | `Authorization: Bearer eyJ...` | Webアプリ、OAuth、ダッシュボードセッション |

## APIキー認証

APIキーは、サーバーサイドおよびSDK統合に推奨されるアプローチです。すべてのキーは`awx_`プレフィックスで始まります。

```bash theme={null}
curl -X GET https://api.agentwallex.com/api/v1/agents \
  -H "X-API-Key: awx_your_api_key"
```

<Warning>
  クライアントサイドのコード、公開リポジトリ、またはログにAPIキーを公開しないでください。常に環境変数から読み込んでください。
</Warning>

### 環境変数

APIキーを環境変数として保存します：

<CodeGroup>
  ```bash .env theme={null}
  AGENTWALLEX_API_KEY=awx_your_api_key
  ```

  ```typescript TypeScript theme={null}
  import { AgentWallex } from "@agentwallex/sdk";

  const aw = new AgentWallex({
    apiKey: process.env.AGENTWALLEX_API_KEY!,
  });
  ```

  ```python Python theme={null}
  import os
  from agentwallex import AgentWallex

  aw = AgentWallex(api_key=os.environ["AGENTWALLEX_API_KEY"])
  ```
</CodeGroup>

## JWTベアラートークン認証

WebアプリケーションやOAuthフローには、JWTベアラートークンを使用します。トークンはGoogle OAuthフローを通じて取得されます：

<Steps>
  <Step title="OAuthフローの開始">
    ユーザーをGoogle OAuthエンドポイントにリダイレクトします：

    ```
    GET /auth/google/redirect
    ```
  </Step>

  <Step title="コールバックの処理">
    認証後、GoogleがワンタイムコードとともにコールバックURLにリダイレクトします：

    ```
    GET /auth/google/callback
    ```
  </Step>

  <Step title="トークンの交換">
    ワンタイムコードをアクセストークンとリフレッシュトークンに交換します：

    ```bash theme={null}
    curl -X POST https://api.agentwallex.com/api/v1/auth/exchange \
      -H "Content-Type: application/json" \
      -d '{"exchange_code": "one_time_code"}'
    ```
  </Step>

  <Step title="アクセストークンの使用">
    `Authorization`ヘッダーにアクセストークンを含めます：

    ```bash theme={null}
    curl -X GET https://api.agentwallex.com/api/v1/agents \
      -H "Authorization: Bearer eyJhbGciOi..."
    ```
  </Step>
</Steps>

### トークンの更新

アクセストークンには有効期限があります。リフレッシュトークンを使用して新しいアクセストークンを取得します：

```bash theme={null}
curl -X POST https://api.agentwallex.com/api/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "your_refresh_token"}'
```

### ログアウト

現在のセッションを無効にします：

```bash theme={null}
curl -X POST https://api.agentwallex.com/api/v1/auth/logout \
  -H "Authorization: Bearer eyJhbGciOi..."
```

## セキュリティのベストプラクティス

<Tip>
  統合を安全に保つために、以下のプラクティスに従ってください。
</Tip>

* **環境変数を使用する** — ソースコードにAPIキーをハードコードしないでください。
* **定期的にキーをローテーションする** — 少なくとも90日ごとにAPIキーをローテーションしてください。ローテーション手順については[APIキー](/ja/introduction/api-keys)を参照してください。
* **必要最小限のスコープを使用する** — 環境ごと（サンドボックスと本番）に別々のAPIキーを作成してください。
* **IP許可リストを有効にする** — GrowthおよびEnterpriseプランで利用可能で、既知のIPへのAPIアクセスを制限します。
* **監査ログを監視する** — ダッシュボードまたは`GET /audit-logs`で認証イベントを確認してください。
* **開発にはサンドボックスを使用する** — 本番キーや実際の資金でテストしないでください。
