Veelvoorkomende authenticatiefouten

Laatst bijgewerkt: 3 maanden geleden

Als je problemen hebt met authenticeren met de Cathopic API, dan zijn dit de meest voorkomende fouten en hoe je ze oplost.

401 Unauthorized

De meest voorkomende authenticatiefout:

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

Veelvoorkomende oorzaken:

  • Ontbrekend x-api-key header

  • Ongeldige of verlopen API-sleutel

  • Typfout in de API-sleutel

  • Spaties vóór/na de sleutel

  • Sleutel niet geladen vanuit omgevingsvariabele

Hoe op te lossen:

  1. Controleer of de headernaam exact is x-api-key (kleine letters)

  2. Kopieer je API-sleutel opnieuw van Instellingen → API

  3. Controleer of omgevingsvariabelen zijn geladen: console.log(process.env.CATHOPIC_API_KEY)

  4. Trim spaties: apiKey.trim()

  5. Controleer of de sleutel actief is (niet verwijderd of gedeactiveerd)

Verkeerde headernaam

De API vereist x-api-key, niet andere veelgebruikte headernamen:

// ❌ WRONG
Authorization: Bearer sk_live_abc...
API-Key: sk_live_abc...
apikey: sk_live_abc...
// ✅ CORRECT
x-api-key: sk_live_abc...

Fout met onbevoegde token

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

Oorzaak: Je API-sleutel is gedeactiveerd of verwijderd.

Hoe op te lossen:

  • Controleer of de sleutel nog steeds actief is in Instellingen → API

  • Activeer de sleutel opnieuw als deze gedeactiveerd was

  • Genereer een nieuwe sleutel als de oude is verwijderd

Omgevingsvariabele niet geladen

Je code kan de API-sleutel niet vinden:

// Geeft undefined terug
const apiKey = process.env.CATHOPIC_API_KEY;
console.log(apiKey); // undefined

Hoe op te lossen:

Node.js:

// Zorg dat .env is geladen
require('dotenv').config();
const apiKey = process.env.CATHOPIC_API_KEY;
if (!apiKey) {
  throw new Error('CATHOPIC_API_KEY not set');
}

Python:

import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.environ.get('CATHOPIC_API_KEY')
if not api_key:
    raise ValueError('CATHOPIC_API_KEY not set')

Fout door blootstelling aan de clientzijde

Proberen om de API-sleutel te gebruiken in browser-JavaScript:

// ❌ Dit zal mislukken (sleutels werken niet in browsers)
fetch('https://api.cathopic.com/resources', {
  headers: { 'x-api-key': 'sk_live_abc...' }
});

Hoe op te lossen: Maak een endpoint aan de serverzijde die verzoeken doorstuurt (proxy) naar de Cathopic API. Zie "Hoe beveilig ik mijn inloggegevens?" voor voorbeelden.

CORS-fouten

Als je CORS-fouten ziet in de browserconsole:

Toegang tot fetch is geblokkeerd door het CORS-beleid...

Oorzaak: Je probeert de API rechtstreeks aan te roepen vanuit client-side JavaScript.

Hoe op te lossen: De Cathopic API is alleen server-side. Je moet verzoeken via je eigen backend doorsturen (proxy).

Authenticatie testen

Snelle test om je setup te verifiëren:

curl -v -X POST https://api.cathopic.com/resources \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"test","page":1,"page_size":1}'
# Zoek naar een HTTP 200-antwoord
# Als 401, controleer de sleutel zorgvuldig

Checklist voor debugging

Als authenticatie nog steeds mislukt:

  • ☐ De headernaam is x-api-key (hoofdlettergevoelig)

  • ☐ De API-sleutel is de volledige sleutel (begint met sk_live_ of iets dergelijks)

  • ☐ Geen Bearer-prefix of aanhalingstekens rond de sleutel

  • ☐ Omgevingsvariabele is ingesteld en geladen

  • ☐ Verzoek wordt verzonden vanuit server-side, niet vanuit browser

  • ☐ Sleutel is actief in Instellingen → API

  • ☐ Betaalmethode is toegevoegd en geldig

Als de problemen blijven, neem contact op met developer support met:

  • Het foutbericht

  • Laatste 4 cijfers van je API-sleutel

  • Programmeertaal en framework

  • Voorbeeldcode (zonder je volledige sleutel bloot te geven)

Was dit artikel nuttig?