FCA Farm
IT ▾

Auth & Tokens

API erişim tokenları, scope'lar ve güvenlik.

Token türleri

1. JWT (plugin için)

  • Süresi: 30 gün
  • Format: Standart JWT (HMAC-SHA256)
  • Payload: { sub: user_id, email, device_id, exp }
  • Alma: Plugin sayfası
  • Sızıntı: Logout veya parola değişimi tüm JWT'leri geçersiz kılmaz — sadece API key revoke edilebilir

2. API Key (programatik)

  • Süresi: Süresiz (manuel revoke)
  • Format: ff_<prefix>_<secret> — bir kez gösterilir, hash'i saklanır (Argon2ID)
  • Scope'lar: jobs.submit, jobs.read (gelecekte daha granular)
  • Alma: API Anahtarları sayfası
  • Sızıntı: Anında revoke et + yeni key üret

İlk API çağrısı (örnek)

curl https://fcafarm.com/asset-api/render/balance \
  -H "Authorization: Bearer ff_abc12345_xxxxxxxxxxxxxxxxxxxx"

# Yanıt
{ "balance_credits": 478.50 }

Python örnek (requests)

import requests

API_KEY = "ff_abc12345_xxxxxxxxxxxxxxxxxxxx"
BASE = "https://fcafarm.com/asset-api"

headers = {"Authorization": f"Bearer {API_KEY}"}

# Bakiye sorgu
r = requests.get(f"{BASE}/render/balance", headers=headers)
print(r.json())

# İş listesi
r = requests.get(f"{BASE}/render/jobs?status=active", headers=headers)
for job in r.json()["jobs"]:
    print(job["id"], job["name"], job["status"])

Rate limit

  • Auth endpoints: 30 req/dakika
  • API genel: 100 req/dakika
  • Upload chunk: 600 req/dakika (60 dosya parça)
  • Sınır aşıldığında: HTTP 429 + Retry-After header

Güvenlik best practices

  • API key'i sadece sunucu tarafı kodda kullan — frontend'e koyma
  • Environment variable ya da secrets manager kullan
  • Her ortam (dev/staging/prod) için ayrı key
  • Eski key'leri revoke et
  • HTTPS dışı kullanma
← Tüm dokümanlar