Hoofdinhoud
Inleiding
Dit document beschrijft de functionele en technische specificaties van Delen van MijnGegevens (DvMG) via MijnOverheid. Op dit moment is deze functionaliteit beperkt tot het delen van gegevens ten behoeve van een inkomenstoets bij woningcorporaties en/of woonruimteverdelers.
Dit document is bedoeld voor ontwikkelaars die de functionaliteit Delen van MijnGegevens via MijnOverheid willen integreren in hun webapplicatie.
Functionaliteit Delen van MijnGegevens
Voor organisaties die niet mogen aansluiten op DigiD, maar voor de uitvoering van een wettelijke taak of toets wel gebruik moeten maken van authentieke gegevens die de overheid over burgers registreert, kan er aangesloten worden op de functionaliteit Delen van MijnGegevens via MijnOverheid. Pas na expliciete toestemming van de burger kunnen specifieke gegevens voor een specifiek doel gedeeld worden.
Uitgangspunten gebruik DvMG
- Alleen aangesloten organisaties die door Logius geautoriseerd zijn voor een (of meer) specifieke gegevensset(s) kunnen de burger verzoeken zijn gegevens te delen via MijnOverheid.
- De gedeelde gegevens mogen alleen gebruikt worden voor het doel waarvoor de autorisatie is afgegeven.
- De gedeelde gegevens mogen niet langer dan noodzakelijk voor dit doel bewaard worden.
- De gedeelde gegevens mogen in geen geval gedeeld worden met partijen die niet benodigd zijn voor het behalen van dit doel.
- Het ontvangen van de gedeelde gegevens verloopt via een beveiligde verbinding middels een PKIoverheid-certificaat met Overheidsidentificatienummer (OIN) of Handelsregisternummer (HRN) tussen de server van uw organisatie en MijnOverheid.
- Organisaties worden geadviseerd om de integriteit van de ontvangen gegevensset altijd te controleren middels het PKIoverheid-certificaat van MijnOverheid DvMG.
- Organisaties worden geadviseerd om het PKIoverheid-certificaat van MijnOverheid DvMG, waarmee de gegevensset digitaal wordt ondertekend, lokaal te bewaren, zodat men zonder tussenkomst van MijnOverheid de integriteit van de ontvangen gegevens aan derden kan aantonen.
- Als onderdeel van de gegevensset wordt een eenmalige, unieke en niet herleidbare identifier van de gebruiker meegestuurd. Bij vermoedens van fraude of andere onregelmatigheden kan Logius o.b.v. dit nummer aanvullend onderzoek doen.
- Eventuele vermoedens van fraude dienen direct met Logius gecommuniceerd te worden.
- Organisaties zijn verplicht de onderstaande button te tonen op de eigen website als startpunt voor het initiëren van de functionaliteit Delen van MijnGegevens via MijnOverheid. Een speciaal communicatiepakket zal in het aansluitproces met u gedeeld worden, waarin onder andere een optimale web-resolutie van deze button is te vinden.
Uitgangspunten functionaliteit DvMG
- De gebruiker dient zich minimaal met 2-factoren te authenticeren via DigiD. Dat betekent minimaal met gebruikersnaam, wachtwoord en sms-code. De DigiD-app kan ook gebruikt worden.
- Een MijnOverheid-account is niet noodzakelijk om gebruik te maken van deze functionaliteit.
- Het proces kan slechts voor één gebruiker tegelijkertijd opgestart worden, waarbij alleen gegevens van deze gebruiker gedeeld kunnen worden.
- Expliciete toestemming van de gebruiker is noodzakelijk, zonder tussenkomst van (het apparaat van) de gebruiker kan er geen gegevensuitwisseling plaatsvinden.
- Indien een van de uitgevraagde bronnen of DigiD niet beschikbaar zijn wegens een storing, zullen er in het geheel geen gegevens worden gedeeld.
- Eventuele fouten in het proces kunnen, met medewerking van de gebruiker, worden teruggekoppeld aan de initiërende organisatie.
- Door de gebruiker verleende toestemming kan slechts eenmalig, en binnen 5 minuten na uitgifte, gebruikt worden om de gedeelde gegevens te verkrijgen.
Techniek Delen van MijnGegevens
Om aan te sluiten op de functionaliteit Delen van MijnGegevens dient uw organisatie de webapplicatie geschikt te maken voor OAuth2.0-communicatie met MijnOverheid. OAuth2.0 is een veel gebruikte internationale open standaard voor autorisatie. Gebruikers kunnen hiermee een programma, app of website toegang geven tot hun privégegevens, die opgeslagen zijn of op te vragen zijn via een andere website, zonder hun gebruikersnaam en wachtwoord uit handen te geven. Met de keuze voor deze standaard maakt Logius het zo eenvoudig mogelijk voor ontwikkelaars om gebruik te maken van deze functionaliteit, zonder in te leveren op de beveiligingsvereisten, normen en kaders waaraan de overheid moet voldoen.
Technologie
Voor de toepassing van OAuth2.0 binnen de overheid is een specifiek profiel voor de Nederlandse overheid opgesteld. Naast het autorisatie gedeelte van de systeeminteractie zal uiteindelijk ook een resource API bevraagd worden, hiervoor wordt een REST/JSON API beschikbaar gesteld.
Relevante bronnen voor de gebruikte technologie:
- OAuth2.0: https://tools.ietf.org/html/rfc6749
- NL GOV Assurance profile for OAuth 2.0: https://docs.geostandaarden.nl/api/oauth/
- Forum Standaardisatie: https://www.forumstandaardisatie.nl/standaard/oauth
- JSON Web Token (JWT): https://tools.ietf.org/html/rfc7519
Netwerk
Alle endpoints voor deze functionaliteit zijn via internet te bereiken. Uw IP-adres hoeft niet op een whitelist gezet te worden, daarentegen is het wel noodzakelijk om een (door Logius goedgekeurd) client certificaat aan te bieden bij het backchannel-verkeer (2-zijdig TLS).
PKIoverheid
Public Key Infrastructure voor de overheid, kortweg PKIoverheid, maakt betrouwbare digitale communicatie mogelijk. Authenticatie en autorisatie van uw organisatie bij MijnOverheid vindt plaats op basis van een PKIoverheid-certificaat met daarin opgenomen uw Overheidsidentificatienummer (OIN) of Handelsregisternummer (HRN). Voor meer informatie over PKIoverheid, zie: https://www.logius.nl/pkioverheid
Systeeminteractie Delen van MijnGegevens
In het figuur hieronder is te zien welke interactie er plaatsvindt tussen uw Webapplicatie (Client) en MijnOverheid (Frontend, Backend).
Verderop in dit document wordt de interactie A-B, C-D en E-F gedetailleerd beschreven.
Endpoints
Endpoints voor Authorization Request (A-B)
Hiermee start de gebruikersinteractie op MijnOverheid, welke geïnitieerd wordt met de blauwe MijnOverheid-knop op uw website.
- Productie: https://gegevensdelen.mijn.overheid.nl
- Pre-productie: https://gegevensdelen.preprod.mijn.overheid.nl
Endpoints voor verkrijgen Access Token (C-D)
Backchannelcommunicatie (2-zijdig TLS)
- Productie: https://api.mijn.overheid.nl/delen/code
- Pre-productie: https://api.preprod.mijn.overheid.nl/delen/code
Endpoints voor verkrijgen Gegevens (E-F)
Backchannelcommunicatie (2-zijdig TLS)
- Productie URL: https://api.mijn.overheid.nl/delen/gegevens
- Pre-productie: https://api.preprod.mijn.overheid.nl/delen/gegevens
Actoren
Actor | Omschrijving |
---|---|
Gebruiker | De burger die met zijn toestemming gegevens wil delen met uw Organisatie. |
MijnOverheid | Het systeem van MijnOverheid, Frontend en Backend, waarmee uw Webapplicatie interactie heeft. |
Webapplicatie | Het systeem van uw Organisatie. |
Organisatie | De juridische entiteit/rechtspersoon (uw organisatie) die aansluit op het systeem van MijnOverheid. |
Logius | De beheerder van MijnOverheid en DigiD en de partij die uw aansluiting autoriseert en activeert. |
Aansluitgegevens
De onderstaande gegevens zijn noodzakelijk om een aansluiting op MijnOverheid te realiseren.
Element | Voorbeeld | Opmerking |
---|---|---|
client_id | woonnet_haaglanden | Wordt door Logius bepaald o.b.v. uw organisatienaam, leesbaar, dus geen random ID. Dit gegeven gebruikt u in de communicatie met MijnOverheid. |
naam | Woonnet Haaglanden | Wordt getoond in schermen op MijnOverheid |
public key | tekst bestand dat begint met -----BEGIN PUBLIC KEY----- |
Public key die u met Logius moet delen. Met de private key wordt door uw Webapplicatie de client_assertion ondertekend, welke benodigd is bij het ophalen van de access_token. De private key moet een minimale entropy hebben van 2048 bits. Logius adviseert een sleutel van minimaal 3072 bits. |
redirect_uri | https%3A%2F%2Fwww.woonnet-haaglanden.nl%2Freturn | Wordt gebruikt om de Gebruiker terug te sturen naar uw Webapplicatie. Dit gegeven gebruikt u in de communicatie met MijnOverheid. |
scopes |
bsn bsn-inkomen |
De gegevensset waarvoor uw organisatie geautoriseerd is door Logius. Dit gegeven gebruikt u in de communicatie met MijnOverheid. Op dit moment wordt maar één scope bevraging per aanvraag ondersteund. |
TLS_SN | 00000003544624920000 |
Serialnumber-veld binnen de DN uit het PKIoverheid-clientcertificaat dat gebruikt wordt door uw webapplicatie voor het opzetten van de 2 zijdige TLS-verbinding. Dit betreft een OIN of HRN. NB. Dit OIN of HRN mag overeenkomen met het OIN of HRN van het certificaat, maar dit is niet verplicht. |
U ontvangt van Logius de public key waarmee u de gegevensset (JWT) kunt valideren.
Authorization Request (A/B)
Request
OAuth2.0 NL-iGOV Profiel: https://docs.geostandaarden.nl/api/oauth/#requests-to-the-authorization-endpoint
Query Parameters
Veld | Voorbeeld | Toelichting |
---|---|---|
client_id | woonnetrijnmond | String met een ID aangeleverd door Logius voor identificatie van de aansluiting. |
scopes |
bsn bsn-inkomen |
Voor welke gegevensset wordt de aanvraag gedaan. De scope zal door Logius aangeleverd worden na goedkeuring van de aangevraagde aansluiting. Op dit moment wordt maar één scope bevraging per aanvraag ondersteund. |
redirect_uri | https://www.example.com/dvmg | URL van uw Webapplicatie waar de Gebruiker na het goed- of afkeuren van het verzoek (tot delen van gegevens) naar toe gerouteerd dient te worden. Deze URL moet eerder met Logius gedeeld zijn in het aansluitproces. |
response_type | code | Op dit moment ondersteunt MijnOverheid alleen de waarde "code". |
state | 89a0d33e9ad0c5bc3079dbbf8c28ecf3e75c | Waarde met minimaal 32 karakters (a-z A-Z 0-9). Deze waarde moet door uw Webapplicatie gegenereerd en opgeslagen worden in de gebruikerssessie. Deze state waarde wordt vanuit MijnOverheid meegestuurd in het Response naar de redirect_uri en dient door uw Webapplicatie geverifieerd te worden of deze waarde overeenkomt met de state waarde die eerder meegegeven is in het Request. |
Voorbeeld Authorization Request:
https://gegevensdelen.mijn.overheid.nl/?client_id=woonnetrijnmond&scope=bsn&response_type=code&state=89a0d33e9ad0c5bc3079dbbf8c28ecf3e75c&redirect_uri=https://www.woonnetrijnmond.nl/umbraco/api/einkomenapi/handle |
Response
Voordat dit Response gegeven kan worden, loopt de gebruiker door de 4 stappen in MijnOverheid: informeren > inloggen > controleren > samenvatten. Bij de samenvatting heeft de gebruiker de mogelijkheid om de toestemming daadwerkelijk te verlenen aan uw organisatie.
Na het verlenen van toestemming door de gebruiker, wordt de gebruiker naar de redirect_uri teruggestuurd met daarin de volgende parameters.
Query Parameters
Veld | Voorbeeld | Toelichting |
---|---|---|
code | gOIFJ1hV6Rb1sxUdFhZGACW wR1sMhYbJJcQbVJN0wHA |
De authorization_code welke gebruikt dient te worden in Request 4.5.1. Deze code is 5 minuten geldig na uitgifte en kan maar 1 keer gebruikt worden. |
state | 89a0d33e9ad0c5bc3079d bbf8c28ecf3e7 |
Waarde van de state gelijk aan de state die door uw Webapplicatie tijdens het autorisatie verzoek (Request) verzonden is. |
error
|
no-data |
Optioneel: wordt alleen teruggegeven in geval van een fout. Mogelijke waardes: no-data , cancelled , login-failed, service-unavailable, unknown |
Errors
In deze interactie kunnen de volgende fouten optreden:
Fout | Foutcode | Betekenis |
---|---|---|
Gebruiker komt niet terug naar uw Webapplicatie | N.v.t. |
Dit kan diverse redenen hebben, zowel aan de kant van de Gebruiker als aan de kant van uw Webapplicatie en MijnOverheid. U krijgt hier geen terugkoppeling van. Gebruiker:
Webapplicatie:
MijnOverheid:
NB. storingen worden gemeld op de publieke website van Logius, daarnaast kunt u zich abonneren op storingsmeldingen van Logius. |
Gebruiker komt terug naar uw Webapplicatie met een foutcode | service-unavailable | Een of meer van de betrokken (bron)systemen heeft een storing, het verzoek kan daarom tijdelijk niet voltooid worden. |
no-data | Er zijn geen of onvoldoende gegevens gevonden van de Gebruiker om de gevraagde scope/gegevensset te kunnen delen. Of de gebruiker staat geregistreerd als overleden. | |
cancelled | De Gebruiker heeft het delen van gegevens met uw organisatie geannuleerd. | |
login-failed | Het inloggen bij MijnOverheid is mislukt, daarom kunnen er geen gegevens gedeeld worden met uw organisatie. | |
unknown | Er is een onverwachte fout opgetreden. |
Access Token Request (C/D)
Om de gedeelde gegevens op te halen dient als eerste de zojuist verkregen authorization_code van MijnOverheid, via de backchannel ingewisseld te worden op het API endpoint van MijnOverheid voor een access_token. Bij dit verzoek dient u tevens een ondertekend client_assertion mee te sturen.
Let op: U kunt de verkregen authorization_code eenmalig gebruiken.
Backchannel communicatie met het API endpoint vindt plaats via 2-zijdig TLS.
Request
OAuth2.0 NL-iGOV Profiel: https://docs.geostandaarden.nl/api/oauth/#requests-to-the-token-endpoint
HTTP-headers
Veld | Voorbeeld | Toelichting |
---|---|---|
Accept | application/json; version=1.0 | Content type en de API version |
POST data
Veld | Voorbeeld | Toelichting |
---|---|---|
grant_type | authorization_code | Waarde in het voorbeeld is de enige acceptabele waarde |
code | gOIFJ1hV6Rb1sxUdFhZGACW wR1sMhYbJJcQbVJN0wHA |
Waarde van het veld code ontvangen in Response 4.4.2 |
redirect_uri | https://www.woonnet-haaglanden.nl/return | Waarde van het veld redirect_uri in Request 4.4.1 |
client_id | woonnet_haaglanden | Waarde van het veld client_id in Request 4.4.1 |
client_assertion_type | urn:ietf:params:oauth:client-assertion-type:jwt-bearer | Waarde in het voorbeeld is de enige acceptabele waarde |
client_assertion (zie onder) |
JWT + signature | Signed (JWS) JWT - Type: application/jwt https://tools.ietf.org/html/rfc7519#section-10.3.1 |
CLIENT_ASSERTION (JWT)
Dit token dient ondertekend te worden met de private_key (behorend bij het certificaat die u met Logius gedeeld heeft in het aansluitproces). MijnOverheid zal de ondertekening valideren m.b.v. het gedeelde certificaat.
JWT-Headers
Header | Datatype | Toelichting / waarde |
---|---|---|
Header | Datatype | Toelichting / waarde |
alg | String | RS256 |
typ | String | JWT |
Payload
Veld | Datatype | Toelichting / waarde |
---|---|---|
iss | String | Waarde van het veld client_id in Request 4.4.1 |
sub | String | Waarde van het veld client_id in Request 4.4.1 |
aud |
String URL |
https://api.mijn.overheid.nl/delen/code |
iat |
Integer UNIX Epoch |
Tijdstempel van aanmaken JWT |
exp | Integer UNIX Epoch |
Tijdstempel waarna JWT als ongeldig beschouwd dient te worden |
jti | String |
Unieke identifier voor deze JWT |
Response
OAuth2.0 NL-iGOV Profiel: https://docs.geostandaarden.nl/api/oauth/#jwt-bearer-tokens
HTTP-headers
Veld | Voorbeeld | Toelichting |
---|---|---|
Content-Type | application/json; version=1.0 | Content type en de API version |
Body (JSON)
Veld | Datatype | Toelichting / waarde |
---|---|---|
token_type | String | Bearer |
expires_in | Integer |
300 Token blijft maximaal 5 minuten geldig |
access_token (zie onder) |
String | Signed (JWS) JTW - Type: application/jwt - Spec: https://tools.ietf.org/html/rfc7519#section-10.3.1 |
ACCESS_TOKEN (JWT)
De ondertekening kan gevalideerd worden middels het certificaat (mijnoverheid_dvmg_certificate) dat door MijnOverheid zal worden verstrekt.
NB. Refresh tokens worden niet ondersteund.
JWT-Header
Header | Toelichting / waarde |
---|---|
alg | RS256 |
typ | JWT |
jti | Unieke identifier voor deze JWT |
Payload
Veld | Datatype | Toelichting / waarde |
---|---|---|
jti | String |
Unieke identifier voor deze JWT |
iat |
Integer UNIX Epoch |
Tijdstempel van aanmaken JWT |
nbf |
Integer UNIX Epoch |
Tijdstempel vanaf wanneer JWT als geldig kan worden beschouwd |
exp |
Integer UNIX Epoch |
Tijdstempel waarna token als ongeldig beschouwd dient te worden |
sub | String |
Unieke identifier voor Gebruiker, een eenmalig pseudoniem uniek gegenereerd voor dit verzoek (transient-id).
|
iss |
String URL |
https://api.mijn.overheid.nl/delen/code |
azp | String | Waarde van het veld client_id in Request 4.4.1 |
aud | Array |
De/het resource endpoint(s) |
scopes | Array |
Scopes waarvoor deze token geldig is: ["inkomenstoets"] ["bsn"] ["bsn-inkomen"] |
Voorbeeld Access Token Response
{
"token_type": "Bearer",
"expires_in": 300,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI1NDFmYjc5NWY4OTRjNTA2OTExYzNiYmYxZGY5Mjc1NzY3MTBmNTU1N2ZlNDRhNzlmYTRjZjZjNjliZWNlZmI4ZGM4Y2JkYjYzZDBhMDM4OSIsImlzcyI6Imh0dHBzOi8vYXBpLmFjYy5taWpuLm92ZXJoZWlkLm5sL2RlbGVuL2NvZGUiLCJpYXQiOjE2NjY3NzE2NTEsIm5iZiI6MTY2Njc3MTY1MSwiZXhwIjoxNjY2NzcxOTUxLCJzdWIiOiI3NWE0NGIzZC02YWI3LTQ3YjMtYmU4Ni1lN2ZjODE1MmZlNzAiLCJhdWQiOiJodHRwczovL2FwaS5hY2MubWlqbi5vdmVyaGVpZC5ubC9kZWxlbi9nZWdldmVucyIsImF6cCI6ImR2bWctZGVtbyIsInNjb3BlcyI6WyJpbmtvbWVuc3RvZXRzIl19.l3MrYr-6VpQAfuAlzOnblPC-JB4on02FrYTi1VfyCyev-XKB3lgPEaZtAoLR7gc29vnp2Ngbrcizc_3m8fu1qa90R8ym6nrgg3VijhUxHdPRkt9KuaZ095Iik4F2eUTBEpI4Ocozuh_zCq-GG7h2gwPIOg1vN7LBqfSQ4Rd7s88yPpLXsG2St1s9MOdoOEOSVLaMaGQKyixvc4dvmNPP_MBkF9xQ_YtFLXIWq7pc7yPalLWwlhvV0Aa1Vu1VwYYIND1uaO6O4XCUTohjIzEkUe9h2MT5VRHpXYs8fGqyjJC5P7xUybw8F9RsbKZ8cqSzAb703NfnJ9dVM5Hr0dWazESxT_fdAhtuup_mpExIvQr5vZvm_ReEhL_QSkJAmLsFsQt2mJ_9eiuEmU_OdPgerdvrYUzx8vBNfoTMLMaJJDO9_sRS7mvNXK5OiGEDFzC5vX47xzjToUhrBIolCspQHErqY3sNkOUFWjsdgZvYHsGkSrsBTXUCii95az1R6pUPELBovb_UuvKFTDalgjol6ogs6eb5YUNVaIYzyi5Fwr3ExVIOXU8QyJxe7_ZZ0VsW4UsN60oHOvsSqbAb6nyaO_9wAPmekW3ovj5DhLfN6P930vrJy36HNcuh7y2Us_yxY9mHR2sbveXUYnxaMFjf-Pai-6GVtxB6TqNKR5V9cqw"
}
Errors
In deze interactie kunnen de volgende fouten optreden:
Fout | HTTP-foutcode | Betekenis |
---|---|---|
Verbinding komt niet tot stand | N.v.t. |
U biedt geen geldig PKIoverheid-certificaat aan. MijnOverheid heeft een storing / is onbeschikbaar. |
Ongeldige Accept header | 406 |
De enige Accept header waarde die nu ondersteund wordt, is: application/json; version=1.0 |
Ongeldig verzoek | 400 |
Het ingeschoten verzoek voldoet niet aan de specificaties.
|
Niet geautoriseerd | 401 |
U bent niet (meer) geautoriseerd om dit verzoek te doen. Dit kan meerdere redenen hebben:
|
Resource Request (E/F)
Als het access_token ontvangen is door uw Webapplicatie, kan deze vervolgens binnen 5 minuten eenmalig gebruikt worden om de gedeelde gegevens te verkrijgen . Dit verloopt ook via backchannel communicatie met het API endpoint van MijnOverheid.
Let op: U kunt de verkregen access_token binnen 5 minuten na afgifte eenmalig gebruiken.
Backchannel communicatie met het API endpoint vindt plaats via 2-zijdig TLS.
NB. Voor de scope "inkomenstoets" zijn geen verplichte gegevenselementen afkomstig uit de basisregistraties aangemerkt.
Request
HTTP-headers
Veld | Voorbeeld | Toelichting |
---|---|---|
Accept | application/jwt; version=1.0 | Content type en de API version |
Authorization | Bearer <JWT> |
De access_token die uitgegeven is in Response 4.5.2 wordt als Bearer token meegegeven. https://swagger.io/docs/specification/authentication/bearer-authentication/ |
Response bsn
Signed (JWS) JWT - Type: application/jwt - Spec: https://tools.ietf.org/html/rfc7519#section-10.3.1
De ondertekening kan gevalideerd worden middels het certificaat (mijnoverheid_dvmg_certificate) dat door MijnOverheid zal worden verstrekt.
HTTP-headers
Veld | Voorbeeld | Toelichting |
---|---|---|
Accept | application/jwt; version=1.0 | Content type en de API version |
JWT-Headers
Header | Datatype | Toelichting / waarde |
---|---|---|
alg | String | RS256 |
typ | String | JWT |
jti | String | Unieke identifier voor deze JWT |
Body
Veld | Datatype | Voorbeeld | Toelichting |
---|---|---|---|
jti | String | 4dc9af7e59a22456724124d9b778746d |
Unieke identifier voor deze JWT |
iat | Integer UNIX Epoch |
1573900575 |
Tijdstempel van creatie JWT |
nbf | Integer UNIX Epoch |
1573900575 |
Tijdstempel vanaf wanneer JWT als geldig kan worden beschouwd |
exp | Integer UNIX Epoch |
1573900875 |
Tijdstempel waarna token als ongeldig beschouwd dient te worden |
iss | String URL |
https://api.mijn.overheid.nl/delen/gegevens |
URL van uitgever van deze JWT |
aud |
String Client id |
woonnet_haaglanden |
Client ID van ontvanger |
sub | String | 2ec9af6e59a22779724124d9b778852e |
Unieke identifier van de Gebruiker (eenmalig pseudoniem, ook wel transient-id) O.b.v. dit nummer kan de Gebruiker door Logius herleid worden. |
bsn | String | 000000012 | Uniek identificatienummer voor iedereen die een relatie heeft met de Nederlandse overheid. |
verklaring | Object | ||
verklaring.tekst | String | De persoon waarvan de gegevens in dit bericht zijn opgenomen, heeft ingelogd bij MijnOverheid en toestemming gegeven om de gegevens uit dit bericht te delen met de genoemde ontvanger (aud) |
(aud) is een verwijzing naar het veld dat hierboven is genoemd |
verklaring.authenticatie dienst |
String | digid | Voor nu wordt enkel DigiD ondersteund. |
verklaring.betrouwbaar heidsniveau |
String | midden | Mogelijke waarden: midden, substantieel, hoog |
verklaring.tijdstempelAuthenticatie | Integer UNIX Epoch |
1573722303 |
Voorbeeld JSON Resource Object
NB. Deze data wordt ondertekend, dat levert application/jwt op.
{
"iss": "https://api.mijn.overheid.nl",
"aud": "woonnet_haaglanden",
"jti": "c326cf9e81dfa266c6798d3dd5a0cd81",
"iat": 1573807876,
"nbf": 1573807876,
"exp": 1573811476,
"sub": "2ec9af6e59a22779724124d9b778852e",
"bsn": "000000012",
"verklaring": {
"tekst": "De persoon waarvan de gegevens in dit bericht zijn opgenomen, heeft ingelogd bij MijnOverheid en toestemming gegeven om de gegevens uit dit bericht te delen met de genoemde ontvanger (aud)",
"authenticatiedienst": "digid",
"betrouwbaarheidsniveau": "midden",
"tijdstempelAuthenticatie": 1573722303
}
}
Response bsn-inkomen
Signed (JWS) JWT - Type: application/jwt - Spec: https://tools.ietf.org/html/rfc7519#section-10.3.1
De ondertekening kan gevalideerd worden middels het certificaat (mijnoverheid_dvmg_certificate) dat door MijnOverheid zal worden verstrekt.
HTTP-headers
Veld | Voorbeeld | Toelichting |
---|---|---|
Accept | application/jwt; version=1.0 | Content type en de API version |
JWT-Headers
Header | Datatype | Toelichting / waarde |
---|---|---|
alg | String | RS256 |
typ | String | JWT |
jti | String | Unieke identifier voor deze JWT |
Body
Veld | Datatype | Voorbeeld | Toelichting | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jti | String | 4dc9af7e59a22456724124d9b778746d |
Unieke identifier voor deze JWT |
||||||||||||||||
iat | Integer UNIX Epoch |
1573900575 |
Tijdstempel van creatie JWT |
||||||||||||||||
nbf | Integer UNIX Epoch |
1573900575 |
Tijdstempel vanaf wanneer JWT als geldig kan worden beschouwd |
||||||||||||||||
exp | Integer UNIX Epoch |
1573900875 |
Tijdstempel waarna token als ongeldig beschouwd dient te worden |
||||||||||||||||
iss | String URL |
https://api.mijn.overheid.nl/delen/gegevens |
URL van uitgever van deze JWT |
||||||||||||||||
aud |
String Client id |
woonnet_haaglanden |
Client ID van ontvanger |
||||||||||||||||
sub | String | 2ec9af6e59a22779724124d9b778852e |
Unieke identifier van de Gebruiker (eenmalig pseudoniem, ook wel transient-id) O.b.v. dit nummer kan de Gebruiker door Logius herleid worden. |
||||||||||||||||
bsn | String | 000000012 | Uniek identificatienummer voor iedereen die een relatie heeft met de Nederlandse overheid. | ||||||||||||||||
bri | Object | ||||||||||||||||||
bri.inkomens | Object | Als er geen inkomens bekend zijn, dan is dit een leeg object | |||||||||||||||||
bri.<JAAR> | Object | 2018 | |||||||||||||||||
bri.<JAAR>.inkomen | Integer | 50000 | Inkomen in hele euro's | ||||||||||||||||
bri.<JAAR>.grondslag | String | 1000001 |
|
||||||||||||||||
bri.<JAAR>.status | String | 1000019 |
|
||||||||||||||||
verklaring | Object | ||||||||||||||||||
verklaring.tekst | String | De persoon waarvan de gegevens in dit bericht zijn opgenomen, heeft ingelogd bij MijnOverheid en toestemming gegeven om de gegevens uit dit bericht te delen met de genoemde ontvanger (aud) |
(aud) is een verwijzing naar het veld dat hierboven is genoemd | ||||||||||||||||
verklaring.authenticatie dienst |
String | digid | Voor nu wordt enkel DigiD ondersteund. | ||||||||||||||||
verklaring.betrouwbaar heidsniveau |
String | midden | Mogelijke waarden: midden, substantieel, hoog | ||||||||||||||||
verklaring.tijdstempelAuthenticatie | Integer UNIX Epoch |
1573722303 |
Voorbeeld JSON Resource Object
NB. Deze data wordt ondertekend, dat levert application/jwt op.
{
"iss": "https://api.mijn.overheid.nl",
"aud": "woonnet_haaglanden",
"jti": "c326cf9e81dfa266c6798d3dd5a0cd81",
"iat": 1573807876,
"nbf": 1573807876,
"exp": 1573811476,
"sub": "2ec9af6e59a22779724124d9b778852e",
"bsn": "000000012",
"bri": {
"inkomens": {
"2018": {
"inkomen": 50000,
"grondslag": "1000001",
"status": "1000019"
}
}
},
"verklaring": {
"tekst": "De persoon waarvan de gegevens in dit bericht zijn opgenomen, heeft ingelogd bij MijnOverheid en toestemming gegeven om de gegevens uit dit bericht te delen met de genoemde ontvanger (aud)",
"authenticatiedienst": "digid",
"betrouwbaarheidsniveau": "midden",
"tijdstempelAuthenticatie": 1573722303
}
}
Errors
In deze interactie kunnen de volgende fouten optreden:
Fout | HTTP-foutcode | Betekenis |
---|---|---|
Verbinding komt niet tot stand | N.v.t. |
U biedt geen geldig PKIoverheid-certificaat aan. MijnOverheid heeft een storing / is onbeschikbaar. |
Ongeldige Accept header | 406 |
De enige Accept header waarde die nu ondersteund wordt, is: application/jwt; version=1.0 |
Ongeldig verzoek | 400 | Het ingeschoten verzoek voldoet niet aan de specificaties. |
Niet geautoriseerd | 401 |
U bent niet (meer) geautoriseerd om dit verzoek te doen.
|
Contact
Indien u meer informatie wenst over de DvMG-functionaliteit van MijnOverheid, neem dan contact op met Ketenbeheer MijnOverheid.