← Entwickler-Anleitungen

Wählen Sie Ihren Auth-Modus

Zwei Wege, das SDK zu authentifizieren — ein Entscheidungsbaum, ob Sie einen statischen API-Schlüssel oder ein nutzerbezogenes Session-JWT benötigen.

Das SDK unterstützt zwei Auth-Modi. Den richtigen zu wählen hängt davon ab, wo der Code, der das SDK aufruft, tatsächlich läuft — nicht davon, was bequemer ist.

Der Entscheidungsbaum

Läuft dieser Code auf Ihrem Server (Node.js-Backend, Cron-Job, interner Dienst)? → Der API-Schlüssel-Modus ist verfügbar. Übergeben Sie Ihren Schlüssel als apiKey. Erstellen Sie einen Self-Service auf der Detailseite Ihrer Anwendung in der Console (Regenerate API Key) — siehe Holen Sie sich Ihren API-Schlüssel — oder verwenden Sie unten den Session-JWT-Modus, wenn Sie lieber keinen statischen Schlüssel verwalten möchten.

const ai = new Quravin({
  endpoint: process.env.QURAVIN_URL,
  apiKey:   process.env.QURAVIN_KEY,   // aus Ihrem Secrets-Speicher — niemals committen
});

Läuft dieser Code im Browser eines Nutzers? → Verwenden Sie den Session-JWT-Modus. Ihr Server erstellt ein kurzlebiges, nutzerbezogenes Token und übergibt es der Seite — der Browser sieht niemals client_secret oder einen statischen API-Schlüssel.

const ai = new Quravin.Quravin({
  endpoint: "https://api.quravin.com",
  sessionToken: await fetchToken(),   // von Ihrem eigenen Backend-Endpunkt
  onTokenExpired: fetchToken,          // automatische Erneuerung bei 401
});

x-api-key vs. Session-JWT — sie sind nicht austauschbar

apiKey oben sendet die Anfrage als x-api-key: <key>. Dies ist ein veraltetes, anwendungsbezogenes, nicht org-gebundenes Credential, das die Plattform zugunsten nutzerbezogener JWTs ausläuft. Zwei Dinge sollten Sie wissen, bevor Sie darauf zurückgreifen:

Wenn Abrechnung oder nutzerbezogene Zuordnung überhaupt eine Rolle spielt, verwenden Sie den Session-JWT-Modus — erstellen Sie das Token über POST /auth/token, nicht über x-api-key.

Ein Session-JWT erstellen: POST /auth/token

Ihr backend erstellt pro Nutzer ein kurzlebiges JWT, indem es den POST /auth/token-Endpunkt der Plattform aufruft, authentifiziert mit dem client_id/client_secret-Paar aus Holen Sie sich Ihren API-Schlüssel als HTTP-Basic-Auth:

curl -X POST "https://api.quravin.com/auth/token" \
  -H "Authorization: Basic $(echo -n 'client_id:client_secret' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "user-12345",
    "pipelines": ["translate-string"],
    "ttl_seconds": 900
  }'

Antwort:

{ "token": "eyJhbGciOi...", "token_type": "Bearer", "expires_in": 900 }

Übergeben Sie das zurückgegebene token dem Browser als sessionToken. Siehe Integrieren Sie es in Ihren eigenen Server für die vollständige Endpunkt- und Browser-Verdrahtung sowie für die veraltete Self-Signing-Alternative, die statt client_id/client_secret ein separat bereitgestelltes Signing-Secret verwendet.

Warum das wichtig ist

Ein statischer API-Schlüssel ist ein Bearer-Credential — wer ihn aus Ihrem Seitenquelltext liest, hat vollen Zugriff auf alles, was Ihre Anwendung kann. Ein Session-JWT ist auf einen einzelnen Nutzer beschränkt, läuft in Minuten ab, trägt eine pipelines[]-ACL und wird bei jedem Seitenaufruf frisch von Ihrem eigenen Server erstellt.

Faustregel: Wenn der Code in einen Browser ausgeliefert wird, oder wenn Abrechnung/nutzerbezogene Zuordnung eine Rolle spielt, braucht er ein Session-JWT, keinen statischen API-Schlüssel.

Weiter geht’s: Integrieren Sie es in Ihren eigenen Server zeigt den Token-Erstellungs-Endpunkt, der Session-JWTs ausstellt.