Terug naar Home
2. API

Authenticatie

De WIWB API gebruikt OAuth 2.0 Client Credentials flow voor authenticatie. Dit tweestapsproces zorgt voor veilige toegang tot weergegevens.

Stap 1: Verkrijg je API Inloggegevens

Eerst moet je je client inloggegevens verkrijgen:

  1. Bezoek onze registratiepagina
  2. Vul het aanvraagformulier in met je organisatiegegevens
  3. Ontvang je client_id en client_secret via e-mail (meestal binnen 1-2 werkdagen)

Meerdere API Sleutels

Organisaties kunnen meerdere API-sleutels aanvragen voor verschillende applicaties of omgevingen (bijv. ontwikkeling, test, productie). Elk sleutelpaar werkt onafhankelijk, waardoor je:

  • Toegang kunt scheiden tussen verschillende applicaties
  • Verschillende beveiligingsbeleid per sleutel kunt implementeren
  • Individuele sleutels kunt intrekken zonder anderen te beïnvloeden

Voor het aanvragen van extra sleutels, dien een nieuw registratieformulier in of neem contact op met support.

⚠️ Belangrijk: Bewaar je client_secret veilig en deel deze nooit publiekelijk.

Stap 2: Wissel Inloggegevens in voor Access Token

Gebruik je client inloggegevens om een access token aan te vragen bij het authenticatie-eindpunt:

curl -X POST "https://api.wiwb.nl/auth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -d "client_id=JOUW_CLIENT_ID&client_secret=JOUW_CLIENT_SECRET&grant_type=client_credentials"

Belangrijk: Speciale Tekens in client_secret

Als je client_secret speciale tekens bevat (zoals +, =, &, %, etc.), moet je deze URL-encoderen. Gebruik dan --data-urlencode:

curl -X POST "https://api.wiwb.nl/auth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ --data-urlencode "client_id=JOUW_CLIENT_ID" \ --data-urlencode "client_secret=JOUW_CLIENT_SECRET" \ --data-urlencode "grant_type=client_credentials"

Response

Je ontvangt een JSON response met je access token:

{ "access_token": "eyJhbGciOiJIUzI1NiIs...", "token_type": "Bearer", "expires_in": 3600 }

Stap 3: Gebruik je Access Token

Voeg het access token toe aan de Authorization header van alle API-verzoeken:

Authorization: Bearer JOUW_ACCESS_TOKEN

Let op: Het token verloopt na de tijd aangegeven in expires_in (in seconden). Je moet een nieuw token aanvragen wanneer het verloopt.

Voorbeeld API Verzoek

curl -X POST "https://api.wiwb.nl/api/entity/datasources/get" \ -H "Authorization: Bearer JOUW_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'

Token Beveiliging

Belangrijke beveiligingsoverwegingen:

  • Deel je API-token nooit publiekelijk
  • Sla tokens veilig op in omgevingsvariabelen
  • Roteer tokens regelmatig
  • Gebruik HTTPS voor alle API-verzoeken

Token Verloop

API-tokens hebben de volgende kenmerken:

  • Vervaldatum: Tokens vervallen niet tenzij ingetrokken
  • Intrekking: Tokens kunnen worden ingetrokken indien gecompromitteerd

Foutresponsen

Als authenticatie mislukt, ontvang je een 401 Unauthorized response:

{ "error": "Unauthorized", "message": "Invalid or missing API token", "code": 401 }

Veelvoorkomende authenticatiefouten:

  • Ontbrekend token: Geen Authorization header opgegeven
  • Ongeldig token: Token is misvormd of ongeldig
  • Verlopen token: Token is ingetrokken of verlopen