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

# 鉴权

> API 鉴权方式说明：通过 Authorization: Bearer、x-api-key 或 x-goog-api-key 请求头传递 API 令牌。

## 鉴权方式

AIOHub 支持多种鉴权请求头，兼容不同客户端的请求格式：

| 方式                  | 请求头                            | 适用客户端                                |
| ------------------- | ------------------------------ | ------------------------------------ |
| Bearer 鉴权           | `Authorization: Bearer sk-xxx` | OpenAI SDK、Codex CLI、大多数 OpenAI 兼容工具 |
| Anthropic API Key   | `x-api-key: sk-xxx`            | Anthropic SDK                        |
| Anthropic Bearer 鉴权 | `Authorization: Bearer sk-xxx` | Claude Code（`ANTHROPIC_AUTH_TOKEN`）  |
| Google API Key      | `x-goog-api-key: sk-xxx`       | Gemini CLI、Google SDK                |

这些鉴权方式都使用 `sk-` API 令牌值，AIOHub 会自动识别请求头格式并处理鉴权。

## 使用示例

<CodeGroup>
  ```bash cURL (Bearer) theme={"system"}
  curl https://api.aiohub.org/v1/chat/completions \
    -H "Authorization: Bearer sk-你的API令牌" \
    -H "Content-Type: application/json" \
    -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hi"}]}'
  ```

  ```bash cURL (x-api-key) theme={"system"}
  curl https://api.aiohub.org/v1/messages \
    -H "x-api-key: sk-你的API令牌" \
    -H "Content-Type: application/json" \
    -H "anthropic-version: 2023-06-01" \
    -d '{"model": "claude-sonnet-4-20250514", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hi"}]}'
  ```

  ```python Python (OpenAI SDK) theme={"system"}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.aiohub.org/v1",
      api_key="sk-你的API令牌"
  )
  ```

  ```python Python (Anthropic SDK) theme={"system"}
  import anthropic

  client = anthropic.Anthropic(
      base_url="https://api.aiohub.org",
      api_key="sk-你的API令牌"
  )
  ```

  ```javascript Node.js (OpenAI SDK) theme={"system"}
  import OpenAI from "openai";

  const client = new OpenAI({
    baseURL: "https://api.aiohub.org/v1",
    apiKey: "sk-你的API令牌",
  });
  ```
</CodeGroup>

## 常见鉴权错误

| 状态码 | 原因            | 解决方法                    |
| --- | ------------- | ----------------------- |
| 401 | API 令牌无效或过期   | 检查 API 令牌是否正确，是否已过期或被禁用 |
| 403 | API 令牌无权访问该模型 | 确认 API 令牌的分组包含所请求的模型    |
| 429 | 请求频率超限        | 降低请求频率，检查控制台公告或当前限额     |

## 验证 API 令牌

发送一个简单请求验证 API 令牌是否有效：

```bash theme={"system"}
curl https://api.aiohub.org/v1/models \
  -H "Authorization: Bearer sk-你的API令牌"
```

返回模型列表即表示 API 令牌有效。
