OSR:2019/JWT
< OSR:2019
Naar navigatie springen
Naar zoeken springen
Versie door Bindadin01 (overleg | bijdragen) op 30 jan 2019 om 16:41
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 |
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"
}