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

Voorbeeld met curl:

curl -X POST https://auth.tibata.ai/api/auth/oauth2/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=spaces.read spaces.write" \
  -d "resource=https://api.tibata.ai/"

Succesvolle respons:

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

Het token-endpoint en de overige OAuth2-metadata zijn ook op te vragen via het discovery-document op https://auth.tibata.ai/.well-known/oauth-authorization-server.


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
spaces.readSpaces ophalen
spaces.writeSpaces aanmaken en bijwerken
spaces.deleteSpaces verwijderen
integrations.readIntegraties ophalen
integrations.writeIntegraties aanmaken en bijwerken

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