POST /token
Creates and provides a new access token. This method results in an access token with which the requesting party can gain access to a service at the providing party. The format of an access token is not defined by this specification. They are left to the server and should be opaque to a requesting party.
DSGO.Basis
: Parties MUST support a POST call to a /token
endpoint to create a new access token
Prerequisites
In OAuth 2.0 clients are typically “pre-registered” by the server. In the DSGO this is not desirable as data can be shared with previously unknown clients. Therefore client identification and authentication is performed via a check by the DSGO Trust Framework Authority via the Trust Framework catalog. For more details see the Access Token flow.
DSGO.Basis
: Parties MUST NOT pre-register clients
Request
Headers
DSGO.Basis
: Parties MUST validate that a POST request to a /token
endpoint contains the HTTP headers as described in the table below
Header | Description | |
---|---|---|
| Required | as the OAuth 2.0 JWT bearer profile, specified in RFC7523. Defines request body content type. MUST be equal to |
Parameters
For information about the parameters that are common to trust framework’s API’s see Generic API Requirements.
Parameters | Description | |
---|---|---|
| Required | as the OAuth 2.0 grant type. MUST be equal to |
| Required | as the OAuth 2.0 scope. MUST contain the value |
| Required | as the OAuth 2.0 JWT bearer profile, specified in RFC7523. MUST contain a valid Organisation ID of the data service consumer, containing an EORI or KvK number. Used in DSGO for client identification. |
| Required | as the OAuth 2.0 JWT bearer profile, specified in RFC7523. MUST be equal to |
| Required | as the OAuth 2.0 JWT bearer profile, specified in RFC7523. MUST contain a signed JWT (Authentication JWT or Onweergbaarheid JWT). Used in DSGO for authentication of the client. |
Response
For information about the parameters that are common to trust framework’s API’s see Generic API Requirements.
200 OK
When a valid request is sent an OK result should be returned and an access token is sent.
Headers
Header | Description | |
---|---|---|
| Required | Defines response body content type. MUST be equal to |
Parameters
Parameters | Description | |
---|---|---|
| Required | as the OAuth 2.0 access token, specified in RFC6749. This MUST contain an access token which will be used to access endpoints that require authorization. |
| Required | as the OAuth 2.0 JWT bearer profile, specified in RFC7523. MUST be equal to |
| Required | Access token expiration time in seconds. SHOULD be |
An example M2M Authorization response (200 OK) is presented below
400 Bad Request
When invalid request is sent a bad request result should be returned.
Parameters | Description | |
---|---|---|
| Required | as specified in OAuth 2.0 section 5.2, MUST be an error code. |
| Optional | as specified in OAuth 2.0 section 5.2, MUST be a human-readable text providing additional information. |
| Optional | as specified in OAuth 2.0 section 5.2, MUST be an URI identifying a human-readable web page with information about the error. |