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.

Knop: Deel mijn gegevens via MijnOverheid

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:

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.

Endpoints voor verkrijgen Access Token (C-D)

Backchannelcommunicatie (2-zijdig TLS)

Endpoints voor verkrijgen Gegevens (E-F)

Backchannelcommunicatie (2-zijdig TLS)

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
O.b.v. deze waardes kan uw Webapplicatie een nette melding terugkoppelen aan de Gebruiker en weet u de oorzaak van het falen. Zie hieronder voor meer informatie.

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:

  • Gebruiker heeft proces niet afgerond

Webapplicatie:

  • Het Request bevat onjuiste of ongeldige parameters
  • Uw organisatie is niet geautoriseerd

MijnOverheid:

  • Er is een storing bij 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

https://tools.ietf.org/html/rfc7519#section-4.1.6

exp Integer
UNIX Epoch

Tijdstempel waarna JWT als ongeldig beschouwd dient te worden

https://tools.ietf.org/html/rfc7519#section-4.1.4

jti String

Unieke identifier voor deze JWT

https://tools.ietf.org/html/rfc7519#section-4.1.7

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

https://tools.ietf.org/html/rfc7519#section-4.1.7

iat

Integer

UNIX Epoch

Tijdstempel van aanmaken JWT

https://tools.ietf.org/html/rfc7519#section-4.1.6

nbf

Integer

UNIX Epoch

Tijdstempel vanaf wanneer JWT als geldig kan worden beschouwd

https://tools.ietf.org/html/rfc7519#section-4.1.4

exp

Integer

UNIX Epoch

Tijdstempel waarna token als ongeldig beschouwd dient te worden

https://tools.ietf.org/html/rfc7519#section-4.1.4

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)

["https://api.mijn.overheid.nl/delen/gegevens"] 

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.

  • authorization_code is niet correct meegegeven
  • authorization_code is ongeldig
  • authorization_code is niet voor uw webapplicatie uitgegeven
  • authorization_code is ingetrokken
  • authorization_code is verlopen
  • client_id (in POST data) is niet opgegeven
  • redirect_uri (in POST data) is niet opgegeven
  • niet-ondersteunde grant_type meegegeven (enkel authorization_code) wordt ondersteund
Niet geautoriseerd 401

U bent niet (meer) geautoriseerd om dit verzoek te doen. Dit kan meerdere redenen hebben:

  • onbekende redirect_uri
  • onbekende client_id (in POST data)
  • client_assertion is ongeldig (waarde in veld iss is bijvoorbeeld onjuist)
  • TLS_SN is onbekend

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

https://tools.ietf.org/html/rfc7519#section-4.1.7

iat Integer
UNIX Epoch
1573900575

Tijdstempel van creatie JWT

https://tools.ietf.org/html/rfc7519#section-4.1.6

nbf Integer
UNIX Epoch
1573900575

Tijdstempel vanaf wanneer JWT als geldig kan worden beschouwd

https://tools.ietf.org/html/rfc7519#section-4.1.4

exp Integer
UNIX Epoch
1573900875

Tijdstempel waarna token als ongeldig beschouwd dient te worden

https://tools.ietf.org/html/rfc7519#section-4.1.4

iss String
URL
https://api.mijn.overheid.nl/delen/gegevens

URL van uitgever van deze JWT

https://tools.ietf.org/html/rfc7519#section-4.1.1

aud

String

Client id

woonnet_haaglanden

Client ID van ontvanger

https://tools.ietf.org/html/rfc7519#section-4.1.3

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

https://tools.ietf.org/html/rfc7519#section-4.1.7

iat Integer
UNIX Epoch
1573900575

Tijdstempel van creatie JWT

https://tools.ietf.org/html/rfc7519#section-4.1.6

nbf Integer
UNIX Epoch
1573900575

Tijdstempel vanaf wanneer JWT als geldig kan worden beschouwd

https://tools.ietf.org/html/rfc7519#section-4.1.4

exp Integer
UNIX Epoch
1573900875

Tijdstempel waarna token als ongeldig beschouwd dient te worden

https://tools.ietf.org/html/rfc7519#section-4.1.4

iss String
URL
https://api.mijn.overheid.nl/delen/gegevens

URL van uitgever van deze JWT

https://tools.ietf.org/html/rfc7519#section-4.1.1

aud

String

Client id

woonnet_haaglanden

Client ID van ontvanger

https://tools.ietf.org/html/rfc7519#section-4.1.3

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
Grondslag Toelichting
1000000 Geen waarde beschikbaar
1000001 Verzamelinkomen
1000002 Belastbaar jaarloon
1000003 Ambtshalve vaststelling
1000004 Vraag van derden (bedrag onbekend)
bri.<JAAR>.status String 1000019
Status Toelichting
1000000 Geen waarde beschikbaar
1000023 Voorvaststellen (obv geautomatiseerd vastgestelde voorlopige aanslag. Na aangifte. Dit is een voorlopig standpunt na uitvoering van aantal geautomatiseerde consistentiecontroles)
1000019 Vaststellen VI na aangifte (obv definitieve aanslag na aangifte of bezwaar)
1000020 Vaststellen VI bij navordering (obv definitieve of navorderingsaanslag)
1000021 Vaststellen VI nav verzoek om vermindering (obv definitieve aanslag na verzoek om vermindering)
1000022 Vaststellen VI vanuit VA (obv handmatig vastgestelde voorlopige aanslag / handmatig=ambtshalve)
1000026 Automatische Voorlopige Aanslag
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. 

  • TLS_SN is onbekend
  • access_token onbekend / ongeldig / verlopen

Contact

Indien u meer informatie wenst over de DvMG-functionaliteit van MijnOverheid, neem dan contact op met Ketenbeheer MijnOverheid.