Wie authentifiziere ich Anfragen?

Zuletzt aktualisiert: vor 3 Monaten

Alle Anfragen an die Cathopic-API müssen mit Ihrem API-Schlüssel authentifiziert werden. So authentifizieren Sie Ihre API-Aufrufe richtig.

Authentifizierungsmethode

Die Cathopic-API verwendet API-Schlüssel-Authentifizierung über HTTP-Header:

  • Header-Name: x-api-key

  • Header-Wert: Ihr vollständiger API-Schlüssel

  • Erforderlich für: Alle API-Endpunkte

  • Groß-/Kleinschreibung beachten: Header-Namen und Werte müssen exakt übereinstimmen

Beispiel für grundlegende Authentifizierung

cURL:

curl -X POST https://api.cathopic.com/resources \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Virgin Mary",
    "page": 1,
    "page_size": 20,
    "order": "popular"
  }'

JavaScript (fetch):

const response = await fetch('https://api.cathopic.com/resources', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.CATHOPIC_API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    query: 'Virgin Mary',
    page: 1,
    page_size: 20,
    order: 'popular'
  })
});
const data = await response.json();
console.log(data);

JavaScript (axios):

const axios = require('axios');
const response = await axios.post(
  'https://api.cathopic.com/resources',
  {
    query: 'Virgin Mary',
    page: 1,
    page_size: 20,
    order: 'popular'
  },
  {
    headers: {
      'x-api-key': process.env.CATHOPIC_API_KEY
    }
  }
);
console.log(response.data);

Python (requests):

import os
import requests
api_key = os.environ.get('CATHOPIC_API_KEY')
response = requests.post(
    'https://api.cathopic.com/resources',
    headers={
        'x-api-key': api_key,
        'Content-Type': 'application/json'
    },
    json={
        'query': 'Virgin Mary',
        'page': 1,
        'page_size': 20,
        'order': 'popular'
    }
)
data = response.json()
print(data)

PHP (cURL):

 'Virgin Mary',
    'page' => 1,
    'page_size' => 20,
    'order' => 'popular'
]));
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
print_r($data);
?>

Authentifizierungsfehler

Wenn die Authentifizierung fehlschlägt, erhalten Sie eine Fehlermeldung:

Fehlender API-Schlüssel:

HTTP 401 Unauthorized
{
  "message": "Unauthorized"
}

Ungültiger API-Schlüssel:

HTTP 401 Unauthorized
{
  "message": "Unauthorized"
}

Inaktiver API-Schlüssel:

HTTP 401 Unauthorized
{
  "error": "Unauthorized token"
}

Wichtige Hinweise

Sicherheit:

  • API-Schlüssel niemals fest eincodieren: Verwenden Sie Umgebungsvariablen oder eine sichere Konfiguration

  • Nur serverseitig: Fügen Sie API-Schlüssel niemals in clientseitiges JavaScript ein

  • Nur HTTPS verwenden: API-Schlüssel, die über HTTP übertragen werden, sind anfällig

  • Regelmäßig rotieren: Ändern Sie Schlüssel in regelmäßigen Abständen zu Sicherheitszwecken

Fehlerbehandlung:

  • Statuscodes prüfen: Überprüfen Sie stets den HTTP-Antwortstatus

  • Authentifizierungsfehler protokollieren: Verfolgen Sie fehlgeschlagene Versuche zur Sicherheitsüberwachung

  • Retry-Logik implementieren: Mit exponentiellem Backoff für vorübergehende Fehler

  • Vor dem Senden validieren: Stellen Sie sicher, dass der API-Schlüssel korrekt geladen wurde

Authentifizierung testen

Schneller Test, um zu überprüfen, ob Ihr API-Schlüssel funktioniert:

curl -X POST https://api.cathopic.com/resources \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "test", "page": 1, "page_size": 1}'

Erwartete Antwort (Erfolg):

{
  "total": 1234,
  "page": 1,
  "page_size": 1,
  "results": [ ... ]
}

Häufige Fehler

  • Falscher Header-Name: Muss x-api-key sein, nicht api-key oder Authorization

  • Falsches Werteformat: Verwenden Sie den vollständigen Schlüssel so wie er ist, ohne "Bearer"-Präfix

  • Nachgestellte Leerzeichen: Trimmen Sie API-Schlüsselwerte, bevor Sie sie verwenden

  • Schlüssel nicht geladen: Prüfen Sie, ob die Umgebungsvariable korrekt gesetzt ist

Wenn Sie Probleme mit der Authentifizierung haben, sehen Sie in diesem Abschnitt unter "Häufige Authentifizierungsfehler" nach.

War dieser Artikel hilfreich?