Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Belangrijk

Note

Deze sectie beschrijft hoe je handmatig een Microsoft Entra ID-token voor een service principal verkrijgt via de Microsoft identity platform REST API. Het wordt niet aanbevolen om handmatig tokens te genereren, omdat deze meestal binnen een uur verlopen. In plaats daarvan is het beter om tools of SDK's te gebruiken die automatisch verlopen tokens vernieuwen.

...

Meer details zijn te vinden in de officiƫle Microsoft documentatie.

Hoe werkt het?

Macro diagram
sourceTypeMacroBody
attachmentPageId
syntaxMermaid
attachmentId
url
sequenceDiagram
    participant client
    participant auth
    participant gateway
    participant service
    participant event broker

    client->>auth: authenticatie
    auth->>client: access Token
    client->>auth: refresh Token
    auth->>client: access Token
    client-->>service:access Token
    client-->> event broker:access Token
   
  • Access Token: Een kortdurend token (meestal 1 uur geldig) dat wordt gebruikt om API-aanvragen te autoriseren.

  • Refresh Token: Wanneer het access token verloopt, kan een refresh token worden gebruikt om een nieuw access token aan te vragen zonder opnieuw te authenticeren.

Stappen voor het verkrijgen van een token:

  1. Vereiste informatie (opvraagbaar bij Functioneel Beheer):

    • Tenant ID

    • Client ID

    • Client secret

    • Scope

cURL-voorbeeld voor een token

Code Block
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token \
-d 'client_id={client-id}' \
-d 'grant_type=client_credentials' \
-d 'scope={scope}' \
-d 'client_secret={client-secret}'

cURL-voorbeeld voor refresh token

Code Block
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token \
-d 'client_id={client-id}' \
-d 'grant_type=refresh_token' \
-d 'refresh_token={refresh-token}' \
-d 'client_secret={client-secret}'

...