Skip to main content
Skip table of contents

3.4 Ophalen Launch code en Authentication cookie

Besluit een gebruiker een Taak te starten door het klikken van een Start-knop, dan stuurt de PGO de gebruiker naar de aanbiedermodule. De aanbieder heeft een Launch code en access_token nodig. De Launch code verwijst naar de launch context. In de launch context staat informatie over welke taak voor welke patiënt de aanbiedermodule moet uitvoeren. Om het access_token af te geven, heeft de DVA een Authentication cookie nodig van de Browser. De DVP en Browser halen Launch code en Authication cookie op bij de DVA, door middel van een PAR (RFC9216), een Authorization Code Flow (RFC6749) met een Token Exchange (RFC8693), beveiligd met PKCE (RFC7636).

Message en Process Sequence diagram

Hieronder staat het Process en Message Sequence diagram. De eerste stap “Start Taak…” hoort strikt genomen niet bij deze flow, en is opgenomen om context te geven.

Uitgangssituatie

  • De Persoon (niet weergegeven) bedient de User Agent. Dit is doorgaans een web Browser, en deze sectie gebruikt User Agent en Browser door elkaar.

  • De Browser is reeds ingelogd op een PGO.

  • De PGO heeft reeds alle Persoonsgegevens, inclusief Taken verzameld.

  • De Persoon heeft voldoende lange toestemming gegeven om deze flow mogelijk te maken. Loopt de toestemming eerder af, dan zal de Persoon opnieuw toestemming moeten geven en begint de flow van voren af aan. Dit is niet weergegeven.

Opmerking: We spreken over ‘voldoende lange toestemming’ omdat dit S.D. geen controle heeft over hoeveel tijd er zit tussen het inloggen met DigiD en het starten van de Taak. De Persoon zou een eenmalige toestemming kunnen geven, en 14 minuten wachten alvorens te kiezen de taak te starten. Zelfs als de Taak maar 2 minuten in beslag neemt, dan loopt de tijd over het maximum heen. Met deze situatie houdt het S.D. geen rekening, en het S.D. gaat uit ervan uit dat er voldoende tijd is of dat er langdurige toestemming is gegeven.

Opmerking: Deze paragraaf gebruikt de termen DVP en de daarop draaiende PGO Applicatie door elkaar, hoewel dit in de praktijd twee afzonderlijke met elkaar verweven systemen kunnen zijn.

Proces sequencediagram

Hieronder volgt het diagram met alle bericht uitwisselingen tussen de Browser, DVP en DVA.

Processtappen

Gebruiker bezoekt de aanbiedermodule met een Launch code dat verwijst naar een context bij DVA. Deze launch-context vastleggen gebeurt in OAuth2 met Token exchange-interface.

Met een PAR (Pushed Authentication Request) toont de DVP aan de DVA te beschikken over het MedMijVerzamelen Token van de Persoon. De DVA geeft hierop een RequestUri met een random waarde terug.

Met de RequestUri vervolgt de Browser een Authorization Code Flow (ACF), en krijgt hiervoor een code en een Authentication cookie, dat Browser later gebruikt bij het starten van de Taak module om te bewijzen dat de Persoon van de Browser dezelfde is als degene die de Taak verzamelt heeft.

Met de code in een Token Exchange vraagt de DVP bij de DVA een Launch code op, die de Browser later zal gebruiken om de Taak module te starten.

De PAR voldoet aan RFC9216. De ACF voldoet aan RFC6749. ACF gebruikt Token Exchange (RFC8693) in plaats van de Token Request/Response in RFC6749.

Let op: voor sommige statussen willen we de gebruiker niet doorsturen naar de aanbiedermodule. De definitieve statussen die bepalen of je wel of niet naar de module leverancier gaat wordt later in 3.7 Wijzigen Task Status Module verder uitgewerkt. We hebben ter illustratie entered-in-erroruitgewerkt.

Dit is een verantwoordelijkheid voor PGO maar ook DVA. Zie toelichting en advies voor Dienstverleneraanbieder.

Processtap

Toelichting

1. Persoon start taak

Persoon start Taak. Dit S.D. vermeldt deze stap om de context duidelijk te maken.

De Browser stuurt een HTTP message naar de DVP/PGO applicatie. De methode en inhoud van het bericht valt onder de verantwoordelijk van de PGO leverancier en buiten dit S.D.

De PGO MOET de persoon erop wijzen dat de Taak opent buiten controle van de PGO.

  1. Validatie geldig access_token op DVP

DVP stuurt RFC9216 Pushed Authorization Request.

De DVP MOET een POST gebruiken voor dit Request.

De DVP MOET het Request beveiligen met PKCE (RFC7636). Deze komt terug bij de Token Exchange Request.

Dit MedMij verzamelen access token wordt gevalideerd door DVA of deze geldig en niet verlopen is. Het token bevat een sub, die vertelt welke Persoon hierbij hoort.

  1. Validatie response

DVA stuurt DVP een Authorization Response. De volgende stap gebruikt de URI inclusief code om een de autorisatie aan te vragen.

  1. Redirect naar DVA

De DVP redirects de Browser naar de DVA voor Authorization Code Flow.

  1. Autorisatie Request door Browser

De Browser stuurt n.a.v. de redirect een Authorization Request naar het DVA /authorize endpoint.

  1. Aanmaken cookie

De DVA genereert een Authentication cookie.

De DVA koppelt dit aan:

  • De claim sub; dit is het subject id uit het valide MedMij Verzamelen Token, opgeslagen in de DVA authorisatie server.

  • client_id module, komt uit de audience parameter van het PAR Request, en op haar beurt haalde de DVP deze uit het FHIR endpoint resource van de gegevensdienst Taak, die verzameld is in het verzamelen proces.

  • de code van de Authorization Code Flow, door DVA aangemaakt.

De DVA noteert dat het cookie nog niet actief is, wat betekent dat wanneer het cookie nu gebruikt zou worden, de DVA het als ongeldig beschouwd.

De DVA MOET het cookie vernietigen als het het cookie terugontvangt voordat de het actief is.

MaxAge is 60 s. (of Expires = nu + 180 s).

  1. Toesturen cookie en redirect naar Token Exchange

De DVA stuurt een redirect naar de Browser, met daarin het Authentication cookie en de redirect URL, inclusief code en state voor de Token Exchange tussen DVP en DVA.

  1. Browser request DVP met authorization code

Browser volgt zojuist ontvangen redirect.

  1. Opvragen Launch code

De DVP gebruikt de informatie van de Browser op het callback endpoint, en stuurt een Token Exchange Request volgens RFC8693.

subject_token bevat MedMij Verzamelen Token

De DVA MOET de geldigheid van het MedMij Verzamelen Token valideren.

Waarom? Taken bedoeld in de context van aanbiedermodules zijn gebonden aan aanbiedermodules-applicaties waar PGO geen directe communicatie mee heeft. Deze applicaties communiceren in het domein van Zorgaanbieder en vallen onder verwerkersverantwoordelijkheid van de Zorgaanbieder.

Met het aanvragen van een Launch code voor Persoon geeft DVP een context mee aan DVA: Om welke persoon gaat het, welke taak wil deze uitvoeren en met welke PGO werkt de persoon? Deze informatie wordt gelogd, geverifiëerd en als nodig kan DVA op basis van de context vragen om aanvullende identificatie, toestemmingen die passen bij interactie op taak tussen Persoon en aanbiedermodule-applicatie.

  1. Valideren Launch code verzoek

DVA valideert het request, tegen de volgende parameters

  • het Token Request MOET matchen met het Authorization Response

  • authorization code (parameter naam: code) MOET gelijk zijn aan de authorization code (naam: code) in Authorization Response

  • code_verifier MOET horen bij PKCE code_challenge uit het PAR Request

  • FQDN van de return_url MOET verwijzen naar de PGO zelf.

De DVA genereeert een Launch code en onthoudt dat deze code bij het Authentication cookie hoort.

De DVA activeert het Authentication cookie, wat inhoudt dat vanaf nu het cookie gebruikt mag worden.

  1. Uitgeven Launch code

DVA stuurt een Token Exchange Response met de Launch code in het veld access_token.

Bij een fout, wijst de DVA de aanvraag voor een Launch code af met een fout, volgens de sectie parameters.

De PGO applicatie toont een foutscherm, zie weergaverichtlijn.

  1. Response met redirect naar Taak module

De DVP stuurt een 302 Found redirect response op de Browser call_back, met Taak module endpoint en Launch code.

De DVP/PGO MOET de de query parameter launch toevoegen met de value van het element access_token.

De DVP/PGO MOET het endpoint uit de acitvity definition gebruiken als launch-URL voor het starten van de Aanbiedermodule. Het endpoint is de value van het element extenstion.url die hoort bij element extension.valueReference.type = Endpoint. De Endpoint waarde heeft de PGO van de DVA ontvangen in 3.3 Verzamelen aanbiedertaken.

De DVP/PGO MOET de de query parameter iss toevoegen met de value afkomstig van response token FHIR_base_url, zie:3.4 Ophalen Launch code en Authentication cookie | fhir_base_url.

Zoals gezegd in de paragraaf https://medmij.atlassian.net/wiki/spaces/Toolbox1/pages/854065173, MOET de PGO ook duidelijk maken dat de Persoon naar een andere vertrouwensomgeving gaat.

Parameters

Pushed Authentication Request (PAR: RFC9216) parameters

PAR Request parameters

Parameter

Waarde

subject_token

MEDMIJ_VERZAMELEN_TOKEN

audience

module client_id; dit komt uit de de PAR

response_type

code (RFC vaste waarde)

acr_values

urn:medmij:oauth2:acr-value:launch-authorization vaste waarde per dit S.D. Zie ook RFC8176.

Zodat DVA weet dat dit request voor een Aanbiedermodule Launch code ophalen process.

state

random waarde met een entropie van 128-bit. Gebruikt zoals voorgeschreven in de OAuth 2.0 RFC.

client_id

DVP client_id welke DVP per A.S. gekregen heeft. Bijvoorbeeld pgo-aanbiedermodules of meestal het volledige domein van de PGO applicatie leverancier, zoals bijvoorbeeld: mijnpgo.nl.

redirect_uri

Volledige URL verwijzend naar de endpoint waar de Browser naar toe moet voor de Token Exchange.

Bijvoorbeeld https://pgo-aanbiedersmodules.test.medmij.nl/web/api/dvamod/launch-callback.

scope

Voor welke DVA dit PAR bestemd is. Dit is de naam van de Zorgaanbieder uit de ZAL (maar dan zonder @medmij.nl suffix). Bijvoorbeeld: dvaaanbiedersmodules

PKCE

Lijst met twee waarden (<code_challenge>,<code_challenge_method>)

code_challenge

random waarde met een entropie van 128-bit

code_challenge_method

S256 (vast waarde, RFC gedefinieerd)

acr_values

urn:medmij:oauth2:acr-value:launch-authorization vaste waarde per S.D. Zie ook RFC8176.

Zodat DVA weet dat dit request voor een Aanbiedermodule Launch code ophalen process.

PAR Response Parameter

Parameter

Waarde

HTTP response code en text

201 CREATED PAR request successful

RequestUri

urn:ietf:params:oauth:request_uri:<random>, waar <random> is een random waarde met een entropie van 128-bit. Deze is om Authorisatie Request in de Authorization Code Flow in de volgende stap te kunnen koppelen aan de PAR.

Bijvoorbeeld: urn:ietf:params:oauth:request_uri:B02D0740E140AD2AB131610F5428E43BE1FFBBD35BDA3ED2CF0DD863EDF1C19D

ExpiresIn

60 vaste waarde, tijd in seconden

ACF Authorization

302 Found redirect en /authorize HTTP Authorisatie Request door Browser

De DVP haalt het /authorize endpoint, net als het /token endpoint uit de ZAL. Method is GET.

Query Parameter

Waarde

client_id

<dvp_client_id> zoals gebruikt in PAR Request

request_uri

waarde verkregen in PAR Response. Bijvoorbeeld:

urn:ietf:params:oauth:request_uri:B02D0740E140AD2AB131610F5428E43BE1FFBBD35BDA3ED2CF0DD863EDF1C19D

state

Deze waarde is gelijk aan de waarde in het PAR request. De DVA MOET het request afwijzen als de waardes ongelijk zijn. Bijvoorbeeld:

8dce3d3396989c1a86c419cafee480157c47180743f342442c966e6ee3ff2889

Authorization Response

Parameter

Waarde

HTTP response code en text

302 Found

Location

De redirect_uri uit het PAR Request. Per A.S. MOET de DVA deze verifiëren met de tag <redirect_uri> van de gegevensdienst in de OAuth client list.

Bijvoorbeeld: https://pgo-aanbiedersmodules.test.medmij.nl/web/api/dvamod/launch-callback

Note: nu is er nog slechts 1 redirect URI in de lijst, mogelijk extra toevoegen.

code

een random waarde met een entropie van 128-bit. Gebruiken als per RFC.

Bijvoorbeeld: b756ad1809264cd182b1c4a8c7951caf

state

de waarde uit het request. Bijvoorbeeld: 8dce3d3396989c1a86c419cafee480157c47180743f342442c966e6ee3ff2889

Token Exchange

Token Exchange Request

Parameters volgens https://www.rfc-editor.org/rfc/rfc8693.html#name-request sectie 2.1.

Method is POST. Het Token endpoint komt uit de ZAL.

Parameter

Waarde

smart_launch_context

Context heeft drie parameter in JSON formaat, zodat de DVA deze informatie weet bij het starten van de Taak. Context resource komt vanuit de verzamelde Taak. Parameter intent is per S.D. vaste waarde (deze parameter is nog in ontwikkeling). Parameter return_url bepaalt de DVP zelf en is de locatie waarop Aanbiedermodule de Browser later terug zal sturen naar de PGO.

Bijvoorbeeld:

CODE
{
  "resource": "Task/ProviderModule-SubTask-Meetopdracht-Bloeddrukmeting-13",
  "intent": "startmodule",
  "return_url": "https://pgo-aanbiedersmodules.test.medmij.nl/web?dvaname=medrie"
}

De FQDN van de return_url MOET verwijzen naar de PGO zelf.

De DVA MOET verifiëren dat FQDN van de return_url naar de PGO zelf verwijst (de DVA heeft deze informatie in het certificaat dat mTLS gebruikt) en dat de FQDN onderdeel is van het MedMij register.

grant_type

urn:ietf:params:oauth:grant-type:token-exchange vaste waarde per RFC

subject_token

<MEDMIJ_VERZAMELEN_TOKEN>: het access_token van de Persoon die op dit moment de PGO applicatie gebruikt. De DVA registreert dat dit token bij de launch context hoort.

subject_token_type

urn:ietf:params:oauth:token-type:access_token vast waarde per AS

actor_token

de opaque authorization code: de waarde uit het ACF Authorization Response. Bijvoorbeeld: b756ad1809264cd182b1c4a8c7951caf

actor_token_type

urn:medmij:token-type:authorization-code vaste waarde per dit S.D.

requested_token_type

urn:medmij:token-type:launch-code vast waarde per dit S.D.

client_id

dezelfde waarde als in het PAR request en ACF Authorization Request

audience

het client-id van de Taak module, verkregen uit valueString van ActivityDefinition.extension[x].url = http://medmij.nl/fhir/StructureDefinition/client-id

scope

Voor welke DVA dit Token Request bestemd is. Dit is de naam van de Zorgaanbieder uit de ZAL (maar dan zonder @medmij.nl suffix), gelijk aan scope in gebruik voor Verzamelen. Zie ook https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/token-interface. Voorbeeld: dvaaanbiedersmodules

code_verifier

een random waarde met een entropie van 128-bit. Dit om te testen tegen de eerder ontvangen PKCE, zoals gebruikelijk in Authorization Code Flow. Bijvoorbeeld: 0bcuhhET_MCknrc-Rxd-IfHlRdFfWpaNF_0C_xPfXVM

response_type

code vaste waarde per

Token Exchange Response

Parameters volgens https://www.rfc-editor.org/rfc/rfc8693.html#name-successful-response.

Parameter

Waarde

HTTP response code

200 OK

access_token

Dit is de Launch code, een random waarde met een entropie van 128-bit. Bijvoorbeeld: 47618365135e450480bdca5a72719709.

Let op: Deze parameter moet volgens de RFC access_token heten, en bevat dus geen token, maar de Launch code.

expires_in

60 vast waarde, tijd in seconden dat de Launch code geldig is. De DVA en DVP MOETEN de expiratie tijd berekenen aan de hand van de interne klok plus de waarde van expires_in, die 60 seconden is.

token_type

N_A vaste waarde per RFC

scope

zelfde als uit Request

issued_token_type

urn:medmij:token-type:launch-code vaste waarde voor dit S.D. Dit geeft aan dat het uitgegeven token een MedMij Launch code betreft.

fhir_base_url

De volledige URL van FHIR interface van de DVA verwijst.

De aanbiedermodule MOET deze URL gebruiken voor de constructie van de SMART on FHIR configuratie discovery-URL door /.well-known/smart-configuration hieraan toe te voegen.

Bijvoorbeeld: https://dva-aanbiedersmodules.test.medmij.nl/fhir-proxy

Token Exchange Error Response - Fouten afhandelen

Parameters volgens https://www.rfc-editor.org/rfc/rfc8693.html#name-error-response.

DVA wijst de Launch code aanvraag af bij een fout, volgens https://www.rfc-editor.org/rfc/rfc6749#section-5.2, en stuurt een van de volgende codes:

  • error=invalid_request

  • error=invalid_client

  • error=unauthorized_client

  • error=unsupported_grant_type

  • error=invalid_scope

Dienstverlenerpersoon (DVP, PGO Applicatie) toont een foutscherm, zie weergaverichtlijn.

Response van DVP naar Browser met redirect URL naar Taak module

Parameter

Waarde

HTTP Response code en text

302 Found

Location

endpoint naar Aanbiedermodule; deze komt uit de FHIR endpoint resource

Query Parameter

Waarde

iss

het endpoint van de DVA Resource Server; door DVP uit <ResourceEndpointuri> tag van gegevensdienst Aanbiederstaken in ZAL gehaald.

launch

de Launch code, die waarde van access_token is, ontvangen in de Token Exchange Response.

De parameter intent

Het is nog nader te bepalen of verschillende partijen de module zouden kunnen aanroepen. Dit onderscheid willen we maken met intent. De waarde voor dit S.D. is startmodule.

Random waarden

Op verschillende plaatsen eist dit S.D. een random waarde met een entropie van 128-bit, vergelijkbaar met verantwoordelijkheid core.autorisatie.205. Volledig uitgeschreven luidt deze eis:

Iedere random waarde MOET ten minste 128 bits aan entropie bieden (dat wil zeggen: de kans dat een aanvaller de waarde correct raadt, is kleiner dan 2⁻¹²⁸. De waarden zijn per definitie opaque.

Gebruik bijvoorbeeld een CSPRNG volgens erkende standaarden zoals NIST SP 800-90A met minimaal 128 bit seed-entropie en zonder seed of state hergebruik, zoals CTR_DRBG (AES-256), ChaCha20, en platformfuncties zoals getrandom(), BCryptGenRandom(), SecRandomCopyBytes().

Voor praktische implementatie MOET de random waarde maximaal 1024 bit lang zijn.

Procesdiagram voor uitzonderingen

Onderstaande diagram geeft Exception aan.

 

Procesdialogen

De procesdialogen gelden als voorbeelden. Feitelijke waarden, zoals eenmalige tokens, kunnen afwijken.

Validatie geldig access_token op DVP

PAR Request van DVP naar DVA. Hier volgt een voorbeeld.

CODE
POST https://dva-aanbiedersmodules.test.medmij.nl/identity/connect/par

Accept: application/json
Authorization: Basic cGdvLWFhbmJpZWRlcnNtb2R1bGVzOg==
User-Agent: pgo-aanbiedermodules
Content-Type: application/x-www-form-urlencoded

subject_token = eyJhbGciOiJSUzI1NiIsImtpZCI6IjMzNThDQTM1RTM1RDc2Nj…
audience = dvaaanbiedersmodulesweb
MedMij-Request-ID = 1ed9420a19164225a888f40c882686b7
X-Correlation-ID = 493cf744272740379d514dea8c621af8
client_id = pgo-aanbiedersmodules
response_type = code
scope = dvaaanbiedersmodules
redirect_uri = https://pgo-aanbiedersmodules.test.medmij.nl/web/api/dvamod/launch-callback
state = 8dce3d3396989c1a86c419cafee480157c47180743f342442c966e6ee3ff2889
nonce = f62a87adf40d95782c89ecd3587e8ddabbd625b58d07d3af78a7cf8ad13d38d8
acr_values = urn:medmij:oauth2:acr-value:launch-authorization
code_challenge = oNOg7WgyImvOh2QmsYD1blNrfu4TL6kTL5_C9OqZtTk
code_challenge_method = S256

Validatie response

Van DVA naar DVP. Hier volgt een voorbeeld.

CODE
201 CREATED PAR request successful

RequestUri: urn:ietf:params:oauth:request_uri:B02D0740E140AD2AB131610F5428E43BE1FFBBD35BDA3ED2CF0DD863EDF1C19D
ExpiresIn: 600s

Autorization Request door Browser

Authorization Code Flow Authorization Request van Browser naar DVA. Hier volgt een voorbeeld.

CODE
GET: https://dva-aanbiedersmodules.test.medmij.nl/identity/connect/authorize?
  client_id=pgo-aanbiedersmodules&
  request_uri=urn:ietf:params:oauth:request_uri:B02D0740E140AD2AB131610F5428E43BE1FFBBD35BDA3ED2CF0DD863EDF1C19D&
  state=8dce3d3396989c1a86c419cafee480157c47180743f342442c966e6ee3ff2889

Authorization response, toesturen cookie en redirect naar Token Exchange

Hier volgt een voorbeeld.

CODE
HTTP/1.1 302 Found

Location: https://pgo-aanbiedersmodules.test.medmij.nl/web/api/dvamod/launch-callback?
   code=b756ad1809264cd182b1c4a8c7951caf&
   state=8dce3d3396989c1a86c419cafee480157c47180743f342442c966e6ee3ff2889
Set-Cookie: AuthenticationCookie=0ba0ae18ea6eab46fb61145e0f1d4db463c6aa277b581fcb23e90b88a8ea9ea3;
   Max-Age=60;Secure;HttpOnly;SameSite=Strict

Browser request DVP met authorization code

Hier volgt een voorbeeld.

CODE
zie hierboven toesturen Cookie

Opvragen Launch code

Het opvragen Launch code met behulp van een Token Exchange Request. Hier volgt een voorbeeld.

CODE
POST https://dva-aanbiedersmodules.test.medmij.nl/identity/connect/token

Accept: application/json
Authorization: Basic cGdvLWFhbmJpZWRlcnNtb2R1bGVzOg==
User-Agent: pgo-aanbiedermodules
Content-Type: application/x-www-form-urlencoded

smart_launch_context = {
  "resource": "Task/ProviderModule-SubTask-Meetopdracht-Bloeddrukmeting-13",
  "intent": "startmodule",
  "return_url": "https://pgo-aanbiedersmodules.test.medmij.nl/web?dvaname=medrie"
}
grant_type = urn:ietf:params:oauth:grant-type:token-exchange
subject_token = eyJhbGciOiJSUzI1NiIsImtpZCI6IjMzNThDQTM1RTM1RDc2Nj…
subject_token_type = urn:ietf:params:oauth:token-type:access_token
actor_token = b756ad1809264cd182b1c4a8c7951caf
actor_token_type = urn:medmij:token-type:authorization_code
audience = dvaaanbiedersmodulesweb
scope = dvaaanbiedersmodules
requested_token_type = urn:medmij:token-type:launch-code
code_verifier = 0bcuhhET_MCknrc-Rxd-IfHlRdFfWpaNF_0C_xPfXVM

PS: deze code_verifier hoort bij de code_challenge uit het PAR request te passen. In het voorbeeld klopt dit niet, dus in het voorbeeld kan men de SHA256 niet controleren.

Uitgeven Launch code

Hier volgt een voorbeeld. Merk op dat de afgegeven Launch code (urn:medmij:token-type:launch-code) hier van het token_type N_A is, niet Bearer.

CODE
HTTP/1.1 200 OK

{
  "access_token": "47618365135e450480bdca5a72719709",
  "expires_in": 180,
  "token_type": "N_A",
  "scope": "dvaaanbiedersmodules",
  "issued_token_type": "urn:medmij:token-type:launch-code",
  "fhir_base_url": "https://dva-aanbiedersmodules.test.medmij.nl/fhir-proxy"
} 

Response met redirect naar Taak module

Response van DVP naar Browse met Launch code zojuist verkregen van DVA. Hier volgt een voorbeeld. Het endpoint in Location komt uit de key address in het FHIR endpoint resource.

CODE
HTTP/1.1 302 Found

Location: https://module.5im.nl/web/api/smartonfhir/launch?
  iss=https://dva-aanbiedersmodules.test.medmij.nl/fhir-proxy&
  launch=47618365135e450480bdca5a72719709

Error Respones voor Token Response

Zie RFC6749 voor error-respons.

JSON
400 Bad Request
{
  "error": "invalid_request",
  "error_description": "Onjuiste aanvraag"
}
JSON
400 Bad Request
{
  "error": "invalid_request",
  "error_description": "Algemene fout in verzoek: log en toon foutmelding"
}
JSON
//Taakstatus is bv in entered-in-error
400 Bad Request
{
  "error": "invalid_request",
  "error_description": "Taakstatus staat het aanvragen van een Launch code niet toe."
}

Aanvullende uitleg

In het functioneel ontwerp onderscheiden wij verschillende typen aanbiedermodules. Het technisch ontwerp beperkt zich voor nu tot use cases waarbij Persoon een module start op uitnodiging van zorgverlener (taak). Deze uitnodiging kan een patiënt op verschillende manieren bereiken, bijvoorbeeld in een e-mail, brief of een persoonlijk gesprek. Kiest de patiënt er voor om taken van een zorgaanbieder in te zien en te gebruiken vanaf een PGO, dan kan de DVP de persoon naar de aanbiedermodule-applicatie sturen met de context: “Om welke persoon gaat het, welke taak wil deze uitvoeren en met welke PGO werkt de persoon?” Deze informatie wordt gelogd, geverifiëerd en als nodig kan DVA op basis van de context vragen om aanvullende identificatie, toestemmingen die passen bij interactie op taak tussen Persoon en aanbiedermodule-applicatie.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.