Docs/authentication

認証

すべてのAPIエンドポイントは認証が必要です。以下の2つの認証方法がサポートされています。

1. セッション認証

ブラウザベースのアクセスで使用されます。自動的にCookieで管理されます。

2. APIキー認証

プログラマティックアクセスで使用されます。

Authorization: Bearer <your-api-token>

使用例

curl -X GET https://your-domain.com/api/jobs \
  -H "Authorization: Bearer YOUR_API_TOKEN"

スコープシステム

APIキーには特定のスコープを付与できます。スコープは、APIキーがアクセスできるリソースと操作を制限します。

利用可能なスコープ

スコープ説明
read:jobsジョブ情報の取得
write:jobsジョブの作成・更新・削除・実行
read:logs実行ログ情報の取得
write:logs実行ログの作成・削除
read:keysAPIキー情報の取得
write:keysAPIキーの作成・削除

スコープの使用例

{
  "name": "Production API Key",
  "scopes": ["read:jobs", "write:jobs", "read:logs"]
}

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

APIキーの保護

  • ✅ APIキーは環境変数に保存してください
  • ✅ コードリポジトリにコミットしないでください
  • ✅ 定期的にローテーションしてください
  • ✅ 必要最小限のスコープのみを付与してください

環境変数の例

# .env
RECORON_API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

HTTPS必須

本番環境ではすべてのAPIリクエストにHTTPSを使用してください。

エラーレスポンス

認証エラー (401)

{
  "success": false,
  "message": "認証が必要です",
  "data": null
}

権限エラー (403)

{
  "success": false,
  "message": "このリソースにアクセスする権限がありません",
  "data": null
}

無効なトークン

{
  "success": false,
  "message": "無効なトークンです",
  "data": null
}