Schema for Consent token

Consent Token

Type: object

The Consent Token is a JWT used in the Consent Protocol to prove a user has granted their consent for an application to access the data provided by a data source. When the user has granted the consent, the consent provider can issue a consent token to the app. The application includes the consent token in the X-Consent-Token header in the requests it makes to the product gateway, which forwards the header to the productizer. The productizer is responsible for validating the token and handling access control to the data it provides. Below are details on fields or claims included in the header and body of the token.


Example:

{
    "header": {
        "v": "0.2",
        "tid": "36bd899b-8b43-484c-ac58-a4da7e32273d",
        "kid": "0fcf0244-69fa-454d-a124-0bd8bc05430",
        "alg": "RS256",
        "typ": "JWT",
        "jku": "https://consent.sandbox.ioxio-dataspace.com/.well-known/jwks.json"
    },
    "body": {
        "iss": "https://consent.sandbox.ioxio-dataspace.com",
        "sub": "debade8a-091d-42da-9b0c-e61f9471e2c3",
        "subiss": "https://login.sandbox.ioxio-dataspace.com",
        "acr": "fake-auth",
        "app": "bb8c7f74-0855-42e1-ba09-70bb27103ded",
        "appiss": "https://login.sandbox.ioxio-dataspace.com",
        "dsi": "dpp://source@sandbox.ioxio-dataspace.com/draft/Weather/Current/Metric",
        "exp": 1678492800,
        "iat": 1678406400
    }
}

Type: object

Type: stringFormat: uri

The issuer of the token. This is the base URL for the consent provider.

Must be at least 1 characters long

Must be at most 2083 characters long


Example:

"https://consent.sandbox.ioxio-dataspace.com"

Type: string

The sub from the ID Token of the user.


Example:

"debade8a-091d-42da-9b0c-e61f9471e2c3"

Type: string

The iss from the ID Token of the user.


Example:

"https://login.sandbox.ioxio-dataspace.com"

Type: string

The acr from the ID Token of the user.


Example:

"fake-auth"

Type: string

The app identifier (OIDC Client ID of the app).


Example:

"bb8c7f74-0855-42e1-ba09-70bb27103ded"

Type: string

The iss (OIDC issuer) at which the app is registered.


Example:

"https://login.sandbox.ioxio-dataspace.com"

Type: stringFormat: uri

Data source identifier for which the token proves consent.

Must be at least 1 characters long

Must be at most 65536 characters long


Example:

"dpp://source@sandbox.ioxio-dataspace.com/draft/Weather/Current/Metric"

Type: integer

The unix timestamp at which the token expires. Must not be in the past.


Example:

1678492800

Type: integer

The unix timestamp at which the token was issued. It must not be in the future.


Example:

1678406400