Access token

Access token

Bij het aanbieden van datadiensten is autorisatie een essentieel onderdeel. Een (potentiële) datadienstgebruiker moet aan tonen dat ze geautoriseerd zijn om gebruik te maken van een datadienst van een datadienstaanbieder. Een datadienstaanbieder kan ervoor kiezen om hier access tokens voor te gebruiken als autorisatie-informatie bij haar datadienst. Access tokens maken het mogelijk voor datadienstaanbieders om de functionaliteit van autorisatie onafhankelijk uit te voeren van de datadienst. Voor de gebruiker maakt een access token het mogelijk om eenmalig te autoriseren voor de aanvraag van meerdere diensten. Daarmee biedt is het concept van een access token een schaalbare oplossing die in de praktijk vaak voorkomt.

In het DSGO wordt het OAuth 2.0 protocol gebruikt om access tokens op te halen. Voor machine-to-machine (M2M) interacties kan een access token verkregen worden via een /token endpoint, volgens OAuth 2.0 client credentials.

Bij het aanvragen van de access token wordt de identiteit van de aanvrager geauthenticeerd. Hiermee wordt authenticatie op datadienst niveau geborgd. Hiervoor zijn twee varianten beschikbaar:

  1. Er wordt een getekende JWT gebruikt volgens de OAuth 2.0 JWT bearer profile (een Authenticatie JWT). Tevens wordt bij de aanvraag van een access token gecontroleerd wat de status van de aanvrager is binnen het DSGO. Zie de OAuth2.0 Client Credentials (private key jwt) oplossing.

  2. Er wordt gebruikt gemaakt van de OAuth2.0 Client Credentials Grant met een Client Password variant. Dit is toegestaan onder strikte voorwaarden, zie de OAuth2.0 Client Credentials (ClientPassword) oplossing.

DSGO.Basis: Als partijen gebruik willen maken van een access token dan, MOETEN ze deze beschikbaar stellen via een /token endpoint