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

# 身份验证

> 了解如何使用 Anysite API 进行身份验证

## 概述

Anysite 使用 API 密钥身份验证来保护对所有端点的访问。您需要在所有 API 调用的请求头中包含您的 API 密钥。

## 获取您的 API 密钥

<Steps>
  <Step title="创建账户">
    访问 [anysite.io](https://anysite.io) 并创建您的账户
  </Step>

  <Step title="生成 API 密钥">
    导航到您的账户设置并生成新的 API 密钥
  </Step>

  <Step title="安全存储">
    安全存储您的 API 密钥，切勿在客户端代码中暴露
  </Step>
</Steps>

## 身份验证方法

### Access Token 头部（必需）

在 `access-token` 头部中包含您的 API 密钥：

```bash theme={null}
curl -X GET "https://api.anysite.io/token/statistic" \
  -H "access-token: YOUR_API_KEY"
```

<Warning>
  Anysite API **不使用** Bearer 令牌身份验证。请始终使用 `access-token` 头部。
</Warning>

## 速率限制

API 请求受速率限制以确保公平使用：

<Note>
  速率限制因端点和订阅计划而异。请查看您的仪表板了解当前限制。
</Note>

## 错误响应

当身份验证失败时，您将收到以下响应之一：

<ResponseField name="401 Unauthorized" type="error">
  无效或缺失的 API 密钥
</ResponseField>

<ResponseField name="403 Forbidden" type="error">
  API 密钥没有访问此资源的权限
</ResponseField>

<ResponseField name="429 Too Many Requests" type="error">
  超出速率限制
</ResponseField>

## 最佳实践

<Tip>
  * 将 API 密钥存储为环境变量
  * 为不同的环境使用不同的 API 密钥
  * 定期轮换 API 密钥
  * 在仪表板中监控 API 使用情况
  * 切勿将 API 密钥提交到版本控制
</Tip>

## 测试身份验证

使用此简单请求测试您的身份验证设置：

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.anysite.io/token/statistic" \
    -H "access-token: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  headers = {
      'access-token': 'YOUR_API_KEY'
  }

  response = requests.get(
      'https://api.anysite.io/token/statistic',
      headers=headers
  )

  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.anysite.io/token/statistic', {
    headers: {
      'access-token': 'YOUR_API_KEY'
    }
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>
