Tibata Docs
Aan de slag met de API

OAuth2 Machine-to-Machine

OAuth2 client credentials flow instellen voor machine-to-machine autorisatie

OAuth2 Machine-to-Machine autorisatie

Met OAuth2 client credentials kunt u server-to-server integraties opzetten zonder gebruikersinteractie. Dit is de aanbevolen methode voor geautomatiseerde processen en achtergrondservices.


Overzicht

De OAuth2 M2M-flow werkt als volgt:

  1. Log in op Tibata en selecteer de juiste organisatie
  2. Maak een OAuth2-client aan via "Go to API Settings" in het gebruikersmenu
  3. Vraag een access token op via het token-endpoint
  4. Gebruik het access token als bearer-token bij API-aanroepen

Stap 1 — Inloggen en organisatie selecteren

Log in op de Tibata-applicatie. Als u toegang heeft tot meerdere organisaties, krijgt u direct een selectiescherm te zien — kies de organisatie waarvoor u de OAuth2-client wilt aanmaken.


Stap 2 — OAuth2-client aanmaken

Klik op "Go to API Settings" in het gebruikersmenu (rechtsboven).

Go to API Settings

U ziet een overzicht van bestaande OAuth2-clients. Klik op "Nieuwe client".

OAuth2-clients overzicht

Vul de volgende gegevens in:

VeldBeschrijving
NaamEen herkenbare naam voor de client (bijv. mijn-backend-service)
ScopesDe rechten die de client nodig heeft (zie Beschikbare scopes)

OAuth2-client aanmaken

Na aanmaken ontvangt u eenmalig de client_id en client_secret. Sla de client_secret direct op — deze kan later niet opnieuw worden opgehaald.

OAuth2-client credentials


Stap 3 — Access token ophalen

Stuur een POST-verzoek naar het token-endpoint met uw client-credentials:

POST /api/auth/token
Content-Type: application/x-www-form-urlencoded
 
grant_type=client_credentials
&client_id=<uw-client-id>
&client_secret=<uw-client-secret>
&scope=read:spaces write:spaces
&resource=https://api.tibata.ai

Voorbeeld met curl:

curl -X POST https://auth.tibata.ai/api/auth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=<uw-client-id>" \
  -d "client_secret=<uw-client-secret>" \
  -d "scope=read:spaces write:spaces" \
  -d "resource=https://api.tibata.ai"

Succesvolle respons:

{
  "access_token": "eyJhbGci...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "expires_at": 1713456000,
  "scope": "read:spaces write:spaces"
}

Stap 4 — API aanroepen met het access token

Voeg het access token toe als Authorization-header bij elke aanroep naar de Tibata API:

GET /v1/spaces/{id}
Authorization: Bearer <access_token>

Voorbeeld met curl:

curl https://api.tibata.ai/v1/spaces/<space-id> \
  -H "Authorization: Bearer <access_token>"

Beschikbare scopes

ScopeBeschrijving
read:spacesSpaces ophalen
write:spacesSpaces aanmaken en bijwerken
delete:spacesSpaces verwijderen

Vraag alleen de scopes aan die uw applicatie daadwerkelijk nodig heeft.


Client secret roteren

Als u een client secret wilt vervangen (bijv. bij een mogelijke compromittering), kunt u het secret roteren via de organisatieinstellingen. Na rotatie is het oude secret onmiddellijk ongeldig. Sla het nieuwe secret direct op.


Aanbevelingen

  • Gebruik voor elke integrerende service een aparte OAuth2-client.
  • Sla client_secret en access_token op als omgevingsvariabelen, nooit hardcoded in broncode.
  • Access tokens verlopen — implementeer automatische vernieuwing via een nieuw token-verzoek.
  • Beperk de scopes tot het minimum dat uw service nodig heeft.

Heeft u vragen? Mail ons: support@tibata.ai

On this page