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. |
Microsoft Entra ID (voorheen Azure Active Directory) is een identiteit- en toegangsbeheerplatform dat gebruik maakt van het OAuth 2.0-protocol om toegangstokens te verstrekken. Dit proces stelt applicaties of services, zoals Azure DatabricksSAP, .NET, Biztalk of Outsystems, in staat om namens een gebruiker of service principal toegang te krijgen tot resources. Het proces omvat het verkrijgen van een access token door authenticatie met een tenant ID, client ID, en client secret. Dit token wordt vervolgens gebruikt om veilig API-aanvragen uit te voeren binnen de Microsoft-cloudomgeving.
Meer details zijn te vinden in de officiƫle Microsoft documentatie.
Hoe werkt het?
Macro diagram | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
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:
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}' |
...