認証
すべての Lurus API リクエストには認証が必要です。2 つの相補的なモードをサポートしており、用途に応じて選択します。
認証方式
Bearer TokenBearer TokenHTTP 認証方式の一種で、リクエストヘッダーに "Bearer sk-xxx" の形式で認証情報を付与します。 を使い、HTTP ヘッダーに API KeyAPI KeyAPI にアクセスするための鍵となる認証情報で、パスワードのようなものです。各 Key ごとにクォータと権限を個別に設定できます。詳しく見る → を付与します。http
Authorization: Bearer sk-your-api-keyリクエスト例
bash
curl https://hub.lurus.cn/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-chat", "messages": [{"role": "user", "content": "Hi"}]}'python
from openai import OpenAI
client = OpenAI(
base_url="https://hub.lurus.cn/v1",
api_key="sk-your-api-key", # 建议改为 os.environ.get("LURUS_API_KEY")
)javascript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://hub.lurus.cn/v1',
apiKey: 'sk-your-api-key', // 建议改为 process.env.LURUS_API_KEY
});SDK の一覧は API 概要 — SDK サポート を参照してください。
環境変数
API Key は環境変数に保存し、ハードコーディングを避けることを推奨します。
bash
# .env
LURUS_API_KEY=sk-your-api-keypython
import os
from openai import OpenAI
client = OpenAI(base_url="https://hub.lurus.cn/v1", api_key=os.environ.get("LURUS_API_KEY"))認証エラー
| ステータスコード | code | type | よくある原因 |
|---|---|---|---|
| 401 Unauthorized | invalid_api_key | authentication_error | Key の形式が不正 / 無効化または削除済み / Authorization ヘッダーの形式が不正 |
| 403 Forbidden | access_denied | authorization_error | Key に当該モデルの権限がない / アカウントが停止中 / クォータを使い切った |
エラーレスポンスの JSON 構造とリトライ戦略は エラー処理 を参照してください。
セキュリティのベストプラクティス
環境変数を使う
コード内に API Key をハードコーディングしない
公開しない
Git リポジトリにコミットしない
権限を制限する
Key には必要最小限の権限のみ付与する
定期的にローテーションする
API Key を周期的に更新する
ログを監視する
API 呼び出しログを定期的に確認する