OSR:2019/JWT

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen

Het JWT token bestaat uit 3 onderdelen:
header, payload data en ondertekening. De 3 onderdelen worden gescheiden door een punt en het geheel wordt base64 geencodeerd.

op de pagina {{|jwt.io|https://jwt.io/}} kan men een jwt token samenstellen


Hieronder is een voorbeeld weergegeven van het gedecodeerde JWT token:

header
{
  "alg": "RS256",
  "type": "JWT",
  "jwk": {
    "kty": "RSA",
    "n": "25wryfsgd_OVH4_RAy6afe-ruuzKrK58zJK- …jjj ",
    "e": "AQAB",
    "x5c": [
      "MIIFijCCA3KgAwIBAgIJANIncLtaUQHdMA… /rV"
    ],
    "x5t": "vzAuinLys_OgCFLDv_G2CJQdUhY",
    "x5t#256": "jkrWxwlbDlMSA3OzQOMhBJo0tjlLbp4IbDpAgwYOFGA",
    "kid": "Kennisnet signing certificate",
    "alg": "RS256",
    "use": "sig"
  }
}

Payload data

{
  "iat": 1548330681,
  "nbf": 1548330681,
  "exp": 1548334281,
  "aud": "00000003272448340204",
  "iss": "00000003272448340116",
  "hash": "DmSGW0lCV3OSNp/rVgGpodZ/Hcuje5ciQkiDqPhFpAk="
}


Header parameters

Parameters Waarde Omschrijving Verplicht/Optioneel
alg RS256 Het algoritme van de key wordt hier aangegeven Verplicht
type JWT Typering van het token Verplicht
Jwk kty RSA Key type Verplicht
n Modulus van het pem certificaat Verplicht
e AQAB Exponent van het pem certificaat Verplicht
x5c x509 certifcate chain. Hiermee kan worden geverifieerd of het certificaat is uitgegeven door de juiste CA en of het op blacklist staat van de revoke list Verplicht
x5t Thumbprint van x509 certificaat Verplicht
x5t#256 Verplicht
kid Een naam om het certificaat te onderscheiden Verplicht
alg Algoritme van de key Verplicht
use sig Hoe de key gebruikt moet worden. Bij OSR gaat het om het ondertekenen van een bericht. Verplicht

Payload parameters

Parameters Omschrijving Verplicht/Optioneel
iat Issued at. Dit geeft de datum aan wanneer het JWT token is aangemaakt. Verplicht
nbf Not before. Dit geeft de startdatum aan wanneer het JWT token gebruikt mag worden Verplicht
exp Expiration date. Dit geeft aan tot wanneer het JWT token gebruikt mag worden Verplicht
aud Audience. Dit geeft aan voor wie het JWT token is aangemaakt. In het geval een POST/PUT naar OSR is dit altijd Kennisnet Verplicht
iss Issuer. Degene die het JWT token heeft aangemaakt Verplicht
hash* Verplicht Verplicht

* De volgende transformaties moeten worden gedaan om de hash te verkrijgen:
* body -> SHA256 -> base64 encoding

hieronder is de body weergegeven:

{
"mandate_token":"6a47bfdd-81a7-46cd-b41f-d907e91ebdfc",
"administration_id": "0000000700004HR77707",
"service_version_namespace": "http://xml.eld.nl/schemas/Overstapservice/20170601",
"url": "https://t2.nl"
}